天天看點

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" }  
?>