線上的統一聊天及推送系統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
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIyVGduV2QvwVe0lmdhJ3ZvwFM38CXlZHbvN3cpR2Lc1TPB10QGtWUCpEMJ9CXsxWam9CXwADNvwVZ6l2c052bm9CXUJDT1wkNhVzLcRnbvZ2LcZXUYpVd1kmYr50MZV3YyI2cKJDT29GRjBjUIF2LcRHelR3LcJzLctmch1mclRXY39DN2YDO1EDN4AjNwgDM2EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
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" }
?>