Redis列表是简单的字符串列表,按照插入顺序排序。
你可以添加一个元素到列表的头部(左边)或者尾部(右边)
LPUSH 命令插入一个新的元素到头部,
RPUSH插入一个新元素到尾部.
当一个这两个操作在一个空的Key上被执行的时候一个新的列表被创建。
相似的,如果链表中所有的元素均被移除,那么该键也将会被从数据库中删除。这是非常方便的语义,因为他们被调用使用一个空列表完全就像他们被调用时使用一个不存在的键值(可以)做为参数。
一个列表最多可以包含 4294967295, 每个列表超过40亿个元素。 从时间复杂度的角度来看 Redis 列表的主要特征是在头和尾的元素插入和删除是固定时间,即便是数以百万计的插入。. 在列表的两端访问元素是非常快的但是如果你试着访问一个非常大的列表的中间的元素是很慢的,因为那是一个O(N)操作。
在一个社交网络中建立一个时间线模型,使用 LPUSH 去添加新的元素到用户的时间线, 使用 LRANGE 去接收一些最近插入的元素。
你可以将 LPUSH 和 LTRIM 一起用去创建一个永远也不会超过指定元素数目的列表,但是记住是最后的N个元素。
列表能够被用来作为消息传递primitive。
指令学习:
1)LPUSH的作用是将一个或多个值 value 插入到列表 key 的表头,执行成功时,返回列表长度
2)LSET可以将列表 key 下标为index的元素的值设置为 value
,列表 key 必须是已存在的,而且index不能超出列表长度范围。
3)LPOP命令执行时会移除列表第一个元素,并将其返回
4)获取列表元素,LINDEX命令,可以获取到指定位置的 value;下标 (index)为正数时,0表示第一个元素,1表示第二个元素,下标 可以是负数,以
-1 表示列表的最后一个元素, -2 表示列表的倒数第二个元素。
5)LINSERT可以将值
value 插入到列表 key 当中,位于值 pivot 之前或之后,LINSERT
key BEFORE|AFTER pivot value
当 pivot 不存在于列表 key 时,不执行任何操作
6)移除列表元素使用LREM命令,根据参数 count 的值,移除列表中与参数 value 相等的元素
- count > 0 : 从表头开始向表尾搜索,移除与 value 相等的元素,数量为 count 。
- count < 0 : 从表尾开始向表头搜索,移除与 value 相等的元素,数量为 count 的绝对值。
- count = 0 : 移除表中所有与 value 相等的值。
7)LLEN命令可以获取到列表的长度
8)LTRIM可以对一个列表进行修剪,让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除
http://www.cnblogs.com/stephen-liu74/archive/2012/03/16/2351859.html
版权声明:本文为博主原创文章,未经博主允许不得转载。