您的位置:首页 > 数据库 > Redis

Redis数据类型--List

2017-08-09 10:51 162 查看
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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: