一、安装redis

  1.下载redis-3.2.3.tar.gz

  wget http://download.redis.io/releases/redis-3.2.3.tar.gz

  2.解压redis-3.2.3.tar.gz

  tar -zxvf redis-3.2.3.tar.gz

  3.解压完成后,安装

  cd redis-3.2.3

  make && make install

  4.切换到utils,执行redis初始化脚本install_server.sh

  cd utils

  ./install_server.sh

  至此,redis安装完毕。

二、安装phpredis扩展

  1.下载phpredis-2.2.4.tar.gz

  wget https://github.com/nicolasff/phpredis/archive/2.2.4.tar.gz

  2.解压phpredis-2.2.4.tar.gz

  tar -zxvf phpredis-2.2.4.tar.gz

  3.进入安装目录

  cd phpredis-2.2.4

  4.用phpize生成configure配置文件

  /usr/bin/phpize   #phpize的目录可能不同,执行命令find / -name phpize找到phpize所在的目录,如果没有找到phpize,可执行命令:yum install php-devel

  5.配置

  ./configure --with-php-config=/usr/bin/php-config

  6.编译安装

  make && make install

  至此,phpredis安装完毕

  7.启动及进入redis服务命令

  启动:redis-server 6379.conf

  进入:redis-cli

三、配置PHP支持

  vim /etc/php.ini

  添加extension=redis.so

  :wq

四、封装redis类

<?php
class MyRedis{
private static $handler; private static function handler(){
if(!self::$handler){
self::$handler = new Redis();
self::$handler -> connect('127.0.0.1','6379');
}
return self::$handler;
}
//获取缓存值
public static function get($key){
$value = self::handler() -> get($key);
$value_serl = @unserialize($value);
if(is_object($value_serl)||is_array($value_serl)){
return $value_serl;
}
return $value;
}
//设置缓存值
public static function set($key,$value){
if(is_object($value)||is_array($value)){
$value = serialize($value);
} return self::handler() -> set($key,$value);
}
//设置缓存值(含有时间)
public static function setex($key,$time,$value){
if(is_object($value)||is_array($value)){
$value = serialize($value);
} return self::handler() -> setex($key,$time,$value);
}
//删除缓存
public static function del($key){
return self::handler() -> del($key);
}
}

五、redis和memcache的异同之处

  1.redis和memcache都是用来管理数据的。

  2.他们的数据都是放在内存里面,所以读取的速度就比较快

  3.redis可以定期将数据备份到磁盘(永久化),而memcache做不到

  4.Memcache只是简单的key/value缓存

  5.redis不仅支持简单的key/value数据缓存,同时还提供list,set,hash等数据结构存储

最新文章

  1. 【原】AFNetworking源码阅读(三)
  2. QML 从无到有 2 (移动适配)
  3. [ZOJ 3662] Math Magic (动态规划+状态压缩)
  4. Android 获取屏幕高度,宽度,状态栏高度
  5. 一个简单的弹出层ProgressBar
  6. 在Attribute Inspector 上显示自定义的控件的属性
  7. tcpdump 使用实践
  8. scanf和cin性能的比较
  9. Python-Django-BMS-增删改查
  10. 【mysql】模糊查询的使用
  11. BZOJ3526[Poi2014]Card——线段树合并
  12. PLSQL游标
  13. 更改wordpress的默认登录页面名称wp-login
  14. fckeditor 数据库 取值 显示
  15. linux把程序添加到全局环境变量
  16. 关于LIS和LCS问题的o(nlogn)解法
  17. Linux入门——shell脚本常用信息小结
  18. 国光大力推荐(安利)Deepin15.4
  19. Java中BigDecimal的一个除法异常
  20. 插头dp题表

热门文章

  1. TypeScript入门知识四(表达式和循环)
  2. 蓝桥杯java 关于大范围时间的
  3. Linux中jdk的安装和环境变量的配置
  4. kubernete的证书总结
  5. mysql存储过程(查询数据库内表 游标循环 if判断 插入别的表内)
  6. 掌握这些知识,你的python水平能更上一层楼(续)
  7. 【Linux】 升级CentOS6的内核到3.10
  8. 【BootStrap】 布局组件 II
  9. 由浅入深理解----java反射技术
  10. shell死循环脚本示例