天天看点

centos安装redis3.0及phpredis扩展使用

线上的统一聊天及推送系统redis版本2.8.6,跑了近一年运行良好,之所以测试redis3.0,因为3.0相比2.8加了很多新特性:

Redis Cluster —— 一个分布式的 Redis 实现

全新的 “embedded string” 对象编码结果,更少的缓存丢失,在特定的工作负载下速度的大幅提升

AOF child -> parent 最终数据传输最小化延迟,通过在 AOF 重写过程中的 “last write”

大幅提升 LRU 近似算法用于键的擦除

WAIT 命令堵塞等待写操作传输到指定数量的从节点

MIGRATE 连接缓存,大幅提升键移植的速度

MIGARTE 新的参数 COPY 和 REPLACE

CLIENT PAUSE 命令:在指定时间内停止处理客户端请求

BITCOUNT 性能提升

CONFIG SET 接受不同单位的内存值,例如 “CONFIG SET maxmemory 1gb”.

Redis 日志格式小调整用于反应实例的角色 (master/slave)

INCR 性能提升

趁年轻对技术保持一个探索之心!

开始安装

1、安装依赖包

[[email protected] ~]# yum install gcc gcc-c++ kernel-devel automake autoconf libtool make wget tcl vim ruby rubygems unzip php-devel git -y
           

2、安装redis服务端

不用./configure,不用make install就编译一下就可以

[[email protected] ~]# wget http://download.redis.io/releases/redis-3.0.6.tar.gz
[[email protected] ~]# tar xzf redis-3.0.6.tar.gz
[[email protected] ~]# cd redis-3.0.6
[[email protected] redis-3.0.6]# make
[[email protected] redis-3.0.6]# src/redis-server
           

3、使用redis客户端测试

[[email protected] redis-3.0.6]# src/redis-cli
127.0.0.1:6379> set key val
OK
127.0.0.1:6379> get key
"val"
127.0.0.1:6379> del key
(integer) 1
127.0.0.1:6379> exists key
(integer) 0
           

4、安装phpredis,方便使用php操作redis

phpredis下载地址:https://github.com/nicolasff/phpredis

[[email protected] ~]# unzip phpredis-develop.zip
[[email protected] ~]# cd phpredis-develop
[[email protected] phpredis-develop]# phpize
[[email protected] phpredis-develop]# ./configure
[[email protected] phpredis-develop]# make && make install
提示:Installing shared extensions:     /usr/lib64/php/modules/

vi /etc/php.ini
加入 extension=redis.so

重启apache
service httpd restart
           
centos安装redis3.0及phpredis扩展使用

5、php连接redis代码测试

<?php  
$redis = new redis();  
$redis->connect('localhost', 6379);  
$rs = $redis->set('test',"11111111111");
$result = $redis->get('test');
var_dump($result);//结果:string(11) "11111111111"
$redis->delete('test');  
$redis->sadd("test","111");//往test集合中添加一个元素 111
$redis->sadd("test","222");  
$redis->sadd("test","333");  
$redis->sadd("test1","111");  
$redis->sadd("test1","444");  
//将集合test和集合test1的并集存进一个新集合new
var_dump($redis->sinterstore('new',"test","test1"));  //结果:int(1)  
//返回集合元素
var_dump($redis->smembers('new'));  //结果:array(1) { [0]=> string(3) "111" }  
?>