本文是php-redis中文文档的第三部分,接上篇,继续介绍redis官方提供的一些命令的使用技巧,有需要的朋友可以参考下。本文是php-redis中文文档的第三部分,接上篇,继续介绍redis官方提供的一些命令的使用技巧,有需要的朋友可以参考下。
linsert在名称为为key的list中,找到值为pivot 的value,并根据参数redis::before | redis::after,来确定,newvalue 是放在 pivot 的前面,或者后面。如果key不存在,不会插入,如果 pivot不存在,return -1$redis->delete('key1'); $redis->linsert('key1', redis::after, 'a', 'x'); $redis->lpush('key1', 'a'); $redis->lpush('key1', 'b'); $redis->lpush('key1', 'c'); $redis->linsert('key1', redis::before, 'c', 'x');$redis->lrange('key1', 0, -1);$redis->linsert('key1', redis::after, 'c', 'y');$redis->lrange('key1', 0, -1);$redis->linsert('key1', redis::after, 'w', 'value'); rpoplpush返回并删除名称为srckey的list的尾元素,并将该元素添加到名称为dstkey的list的头部$redis->delete('x', 'y');$redis->lpush('x', 'abc'); $redis->lpush('x', 'def'); $redis->lpush('y', '123'); $redis->lpush('y', '456'); // move the last of x to the front of y. var_dump($redis->rpoplpush('x', 'y'));var_dump($redis->lrange('x', 0, -1));var_dump($redis->lrange('y', 0, -1)); string(3) abc array(1) { [0]=> string(3) def } array(3) { [0]=> string(3) abc [1]=> string(3) 456 [2]=> string(3) 123 } set操作相关sadd向名称为key的set中添加元素value,如果value存在,不写入,return false$redis->sadd(key , value); srem, sremove删除名称为key的set中的元素value$redis->sadd('key1' , 'set1');$redis->sadd('key1' , 'set2');$redis->sadd('key1' , 'set3');$redis->srem('key1', 'set2'); smove将value元素从名称为srckey的集合移到名称为dstkey的集合$redis->smove(seckey, dstkey, value); sismember, scontains名称为key的集合中查找是否有value元素,有ture 没有 false$redis->sismember(key, value); scard, ssize返回名称为key的set的元素个数 spop随机返回并删除名称为key的set中一个元素 srandmember随机返回名称为key的set中一个元素,不删除 sinter求交集 sinterstore求交集并将交集保存到output的集合$redis->sinterstore('output', 'key1', 'key2', 'key3') sunion求并集$redis->sunion('s0', 's1', 's2');s0,s1,s2 同时求并集 sunionstore求并集并将并集保存到output的集合$redis->sunionstore('output', 'key1', 'key2', 'key3'); sdiff求差集 sdiffstore求差集并将差集保存到output的集合 smembers, sgetmembers返回名称为key的set的所有元素 sort排序,分页等参数'by' => 'some_pattern_*','limit' => array(0, 1),'get' => 'some_other_pattern_*' or an array of patterns,'sort' => 'asc' or 'desc','alpha' => true,'store' => 'external-key'例子$redis->delete('s'); $redis->sadd('s', 5); $redis->sadd('s', 4); $redis->sadd('s', 2); $redis->sadd('s', 1); $redis->sadd('s', 3);var_dump($redis->sort('s')); // 1,2,3,4,5var_dump($redis->sort('s', array('sort' => 'desc'))); // 5,4,3,2,1var_dump($redis->sort('s', array('sort' => 'desc', 'store' => 'out'))); // (int)5 string命令getset返回原来key中的值,并将value写入key$redis->set('x', '42');$exvalue = $redis->getset('x', 'lol'); // return '42', replaces x by 'lol'$newvalue = $redis->get('x')' // return 'lol' appendstring,名称为key的string的值在后面加上value$redis->set('key', 'value1');$redis->append('key', 'value2');$redis->get('key');
