Redis教程——5.基本数据类型的操作
list数据类型
Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)
总结:
一。新增list
结构操作
8 LPUSH key value1 [value2]
将一个或多个值插入到列表头部
注意:Lpush 命令将一个或多个值插入到列表头部。 如果 key 不存在,一个空列表会被创建并执行 LPUSH 操作。 当 key 存在但不是列表类型时,返回一个错误。
9 LPUSHX key value
将一个值插入到已存在的列表头部(如果)
注意:Lpushx 将一个值插入到已存在的列表头部,列表不存在时操作无效。
16 RPUSH key value1 [value2]
在列表中添加一个或多个值
注意:Rpush 命令用于将一个或多个值插入到列表的尾部(最右边)。如果列表不存在,一个空列表会被创建并执行 RPUSH 操作。 当列表存在但不是列表类型时,返回一个错误。
17 RPUSHX key value
为已存在的列表添加值
注意:Rpushx 命令用于将一个值插入到已存在的列表尾部(最右边)。如果列表不存在,操作无效。
修改list(修改旧字段或者新增字段)
1 BLPOP key1 [key2 ] timeout
移出并获取列表的第一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。
2 BRPOP key1 [key2 ] timeout
移出并获取列表的最后一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。
3 BRPOPLPUSH source destination timeout
从列表中弹出一个值,将弹出的元素插入到另外一个列表中并返回它; 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。
5 LINSERT key BEFORE|AFTER pivot value
在列表的元素前或者后插入元素
7 LPOP key
移出并获取列表的第一个元素
12 LSET key index value
通过索引设置列表元素的值
13 LTRIM key start stop
对一个列表进行修剪(trim),就是说,让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除。
14 RPOP key
移除列表的最后一个元素,返回值为移除的元素。
15 RPOPLPUSH source destination
移除列表的最后一个元素,并将该元素添加到另一个列表并返回
16 RPUSH key value1 [value2]
在列表中添加一个或多个值
二。删除list
11 LREM key count value
移除列表元素
三。获取list
10 LRANGE key start stop
获取列表指定范围内的元素
6 LLEN key
获取列表长度
4 LINDEX key index
通过索引获取列表中的元素
一。新建list 新建班级class1
语句: lpush class1 'tom' 'jack' 'mike'
上述语句是从左侧插入 所以按照插入顺序是 'tom' 'jack' 'mike' 所以取出顺序和此相反
二。获取list
语句:lrange class1 0 -1
0 -1:代表取出所有
LLEN key(类似 java list.size()方法)
LINDEX key index(类似 java list.get(i)方法)
三。删除list
Lrem 根据参数 COUNT 的值,移除列表中与参数 VALUE 相等的元素。
COUNT 的值可以是以下几种:
- count > 0 : 从表头开始向表尾搜索,移除与 VALUE 相等的元素,数量为 COUNT 。
- count < 0 : 从表尾开始向表头搜索,移除与 VALUE 相等的元素,数量为 COUNT 的绝对值。
- count = 0 : 移除表中所有与 VALUE 相等的值。
- 四。修改list
- 1.BLPOP key1 [key2 ] timeout
- 2.对列表进行修剪
-
- 3.LSET key index value
通过索引设置列表元素的值 -
4.BRPOPLPUSH source destination timeout
从列表中弹出一个值,将弹出的元素插入到另外一个列表中并返回它; 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。
5 |
LINSERT key BEFORE|AFTER pivot value 在列表的元素前或者后插入元素 |
Linsert 命令用于在列表的元素前或者后插入元素。当指定元素不存在于列表中时,不执行任何操作。
当列表不存在时,被视为空列表,不执行任何操作。
如果 key 不是列表类型,返回一个错误。