童鞋们大家好。 今天我们聊一下,phpredis的列表类型。
摘抄如下:
Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)
上面也说了就是字符串组装起来的一个列表。获取就是一个数组,如下:
$redis->delete('key1');//删除key
$redis->lPush('key1', 'C'); // returns 1 从左侧添加
$redis->lPush('key1', 'B'); // returns 2
$redis->lPush('key1', 'A'); // returns 3
输出 :['A','B','C']如果换成是rPush。这就成右侧添加。输出也就相反。
本文章并不聊,每个函数怎么使用。主要怎么去理解它们。更好的为我们使用。每个人理解不同,能力有限,可能会有偏差。请大家指正。哈哈啊!
如果你看到上篇文章,我们会发现它们函数都有不同的相似性。大部分都是已类型的首字母开始。看到它我们基本就知道他是属于哪个类型的。哈哈。废话是吧!
我们常用的list函数,如下摘抄:
lPush
添加一个字符串值到LIST容器的顶部(左侧),如果KEY不存在,
曾创建一个LIST容器,如果KEY存在并且不是一个LIST容器,那么返回FLASE。
rPush
添加一个字符串值到LIST容器的底部(右侧),如果KEY不存在,
曾创建一个LIST容器,如果KEY存在并且不是一个LIST容器,那么返回FLASE。
lPop
返回LIST顶部(左侧)的VALUE,并且从LIST中把该VALUE移除。
rPop
返回LIST底部(右侧)的VALUE,并且从LIST中把该VALUE移除。
lSize
根据KEY返回该KEY代表的LIST的长度,如果这个LIST不存在或者为空,
那么ISIZE返回0,如果指定的KEY的数据类型不是LIST或者不为空,
那么返回FALSE。所以在这里多说一句,当用ISize返回判断值的时候,
===就有用处了,这里FLASE和0是两个概念了。
**说白了。就是获取到数组里的个数。例子:**
$redis->rPush('key1', 'A');
$redis->rPush('key1', 'B');
$redis->rPush('key1', 'C'); /* key1 => [ 'A', 'B', 'C' ] */
$redis->lSize('key1');/* 3个 */
$redis->rPop('key1'); //从右边删除
$redis->lSize('key1');/* 2 */
lRange
返回存储在[start,end]范围内指定键的列表的指定元素。
start和stop被解释为索引:0表示第一个元素,1表示第二个... -1表示最后一个元素,
-2表示倒数第二个...
取得指定索引值范围内的所有元素
$ redis-> rPush('key1','A');
$ redis-> rPush('key1','B');
$ redis-> rPush('key1','C');
$ redis-> lRange('key1',0,-1); / *数组('A','B','C')* /
其主要的也就是怎么插入、移除、读取,最后形成数组,也就是一个队列。我们读取队列,然后在进行相应的逻辑处理。如果成功我们就去移除里面的值。
感兴趣的可以参考一下链接:
http://www.runoob.com/redis/redis-lists.html