PHPRedis的安裝在這裡:
http://blog.csdn.net/xundh/article/details/46288277 索引值操作
$redis = new Redis();$redis->connect('127.0.0.1', 6379);//參數:connect(host,port,timeout)//timeout可以為空白,在redis.conf裡timeout預設300//pconnect不會主動關閉的串連
key
//寫入值$redis->set($work->uid, $workString);$redis->setnx($work->uid,$workString); //key不存在是賦值$redis->setex($a,50,1); //range設定值後ttl設為50$redis->setrange(key,offset,value);//擷取值$redis->get($work->uid);//刪除key$redis->del($work->uid);var_dump($redis->get($work->uid)); //返回bool(false)//鍵是否存在if(!$redis->exists('key')) var_dump($redis->del('key')); //返回int(0)
mset多個key操作
//設定mset$array_mset=['a'=>1,'b'=>2];$redis->mset($array);$redis->msetnx($array); //key不存在時才寫入,但一次要麼全寫,要麼全不寫。//讀取mset$array_mget=['a','b'];$redis->mget($arram_mget);//刪除多個key$redis->del($array_mget);
keys
//讀取keys$array_mset_keys=['abc'=>1,'bcd'=>2,'cde'=>3];$redis->keys('*a*'); //返回['a'=>1];$redis->keys('b??'); //返回['b'=>2];$redis->keys('*'); //返回所有keys
getset key value
設定值並返回舊值 strlen
返回字串長度 getrange(substr)
字串截取 rename
鍵改名
$redis->rename('a','a1'); //成功返回true,鍵不存在時返回false,newkey已經存在其值會被覆蓋;
renamex
鍵改名,newkey存在時不改
$redis->renamex('a','a1'); //a1如果已經存在,返回0;
append
字串追加
$redis->append('a','12345') ;//如果a不存在,就是普通的set操作
incr
儲存的數字值增1 incrby
值增increment
$redis->incrby('a',10);
decr
數字值減1 decrby
數字值減decrement setbit key offset value
設定或清除指定位 getbit key offset
擷取指定位移量上的位 type
返回key實值型別
傳回值有以下幾種:
none |
(key不存在) |
int(0) |
string |
字串 |
int(1) |
list |
列表 |
int(3) |
set |
集合 |
int(2) |
zset |
有序集合 |
int(4) |
hash |
雜湊表 |
int(5) |
randomkey
隨機返回一個key
echo $redis->randomkey(); //如果沒有key 返回false
object
查看對象 move
移動資料
$redis->MOVE('a',1)); //把鍵a從當前資料庫移到1裡。如果key不存在,返回false; 目標資料庫存在key時,返回false.
Hash
hset key field value
設定雜湊值 hsetnx key field value
不存在時設定值 hmset key field value[field value…]
設定多個雜湊值 hget key field
擷取hash域值 hmget key field [field …]
擷取若干個域值 hgetall key
返回key所有域和值 hdel key field [field…]
刪除一個或多個域 hlen key
返回key裡域數量 hexists key field
查看key裡給定域的field是否存在 hincrby key field increment
域值增加increment hkeys key
返回所有域 hvals key
返回key所有值 表 lpush key value[value…] 表頭插入一個或多個值
$redis->lpush('a',1);$redis->lpush('a',2);
lpushx key value
若且唯若key存在並且是一個列表時才插入 rpush key value
表尾插入 rpushx key value lpop key
移除並返回key頭元素 rpop key
移除並返回key的尾元素 blpop key [key…]
timeout lpop的阻塞版本,如果沒有可供彈出的元素,程式會等待。 brpop key [key…]
timeout rpop的阻塞版本 llen key
返回列表 key的長度 lrange key start stop
返回區間 lrem key count value
移除列表值為value的元素
count>0 從表頭向表尾搜尋,移除值為value的元素,數量為count
count<0 從表尾向表頭,移除值為value的元素,數量為-count
count=0 移除值為value的元素 lset key index value
設定key下標為index的值 ltrim key start stop
對列表修剪,刪除區間外元素 lindex key index
返回下標為index的元素 linsert key
插入 rpoplpush source destination
彈出最後一個元素,把元素插入到列表destination裡作為表頭 brpoplpush source destination timeout
阻塞 集合(Set) sadd key member [member …]
插入元素到集合裡 srem key member [member …]
移除元素 smembers key
返回集合成員 sismember key member
判斷member是否是key的成員 scard key
返回集合key的基數 smove source destination member
member元素從source移動到destination spop key
移除並返回集合中的一個隨機元素 srandmember
返回集合中一個隨機元素 sinter key [key…]
返回集合成員 sinterstore destination key[key…]
返回成員到destination裡,如果目標存在則覆蓋 sunion key [key …]
返回集合全部成員 sunionstore destination key[key…]
返回成員儲存到destination sdiff key[key…]
返回一個集合的全部成員 sdiffstore destination key[key…]
結果儲存到destination Sorted Set有序集 zadd key score member[[score member] [score member] …]
一個或多個member及其score加入到有序集key中 zrem key member [member…]
移除有序集key中的一個或多個成員 zcard key
返回有序集key的基數 zcount key min max
返回有序集key中,score值在min與max之間的成員 zscore key member
返回有序集key中成員member的score值 zincreby key increment member
給member成員的score值增量 zrange key start stop [WITHSCORES]
返回有序集key中指定區間成員,score從小到大 zrevrange key start stop [WITHSCORES]
返回key中指定區間內的成員,score從大到小 zrangebyscore
返回區間成員,score從小到大 zrevrangebyscore key max min [WITHSCORES] [LIMIT offset count]
返回敬意成員,score從大到小 zrank key member
返回member排名,score從小到大 zrevrank key member
member排名,score遞減 ZREMRANGEBYRANK key start stop
移除成員,下標在start stop之間 ZREMRANGEBYSCORE key min max
移除成員,score在min與max之間 ZINTERSTORE destination numkeys key [key …] [WEIGHTS weight [weight …]] [AGGREGATE SUM|MIN|MAX]
計算有序集交集 ZUNIONSTORE
計算有序集並集 排序 sort 數值排序
$redis->SORT('a'); //返回排序結果
alpha限定按字元排序
$redis->SORT('a',array('ALPHA'=>TRUE)); //返回排序結果
limit限定返回數量
$redis->SORT('a',array('LIMIT'=>array(0,5));
SORT限定正序倒序
$redis->SORT('a',array('SORT'=>'DESC'));
by外部排序
$redis->SORT('a',array('BY'=>''));
排序其它用法較多,這裡不再詳細一一列舉。 生命週期 ttl、expire、expireat
$redis->set('a',12345);$redis->expire('a',30); //單位秒$redis->expireat('a','1435152916'); //接受時間戳記echo $redis->get('a'); //如果已經到期,返回falseecho $redis->ttl('a'); //返回剩餘時間(秒)。如果未賦expire值,返回-1;如果鍵不存在,也返回-1
persit移除存留時間
$redis->persist('a');
資料庫操作
選擇資料庫
$redis->SELECT(0); //預設就是資料庫0
清除
$redis->FLUSHALL(); //刪除所有資料庫$redis->flushdb(); //刪除當前資料庫所有key