本实例以Redis 4.0.1 为例,来演示使用Redis命令对散列(Hash)类型数据的操作。
LPUSH 向列表中增加数据(头部) 1. 语法格式
将所有指定的值插入存储在键的列表的头部。 如果键不存在,则在执行推动操作之前将其创建为空列表。 当key保存不是列表的值时,返回错误。
可以使用单个命令调用来推送多个元素,只需在命令的末尾指定多个参数即可。 元素一个接一个插入到列表的头部,从最左边的元素到最右边的元素。 因此,例如命令LPUSH mylist a b c将导致包含c作为第一个元素的列表,b作为第二个元素和第三个元素。
1 LPUSH key value [value ...]
2.返回值
推送操作后的列表的长度。
3.示例
1 2 3 4 127.0.0.1:6379> lpush my-list a b c (integer) 3 127.0.0.1:6379> lpush my-list d (integer) 4
LPUSHX 向列表中增加数据(头部) 1. 语法格式
与 LPUSH 方法类似,不同之处在于,当key不存在时候不插入数据。
在key存储的列表的头部插入值,只有当密钥已经存在并保存一个列表时。 与LPUSH相反,当钥匙不存在时,不会执行任何操作。
2.返回值
推送操作后的列表的长度。
3.示例
1 2 3 4 5 6 7 8 9 127.0.0.1:6379> lpushx my-list a (integer) 0 127.0.0.1:6379> lpush my-list a (integer) 1 127.0.0.1:6379> lpushx my-list a (integer) 2 127.0.0.1:6379> lrange my-list 0 -1 1) "a" 2) "a"
LRANGE 去掉指定位置的数据 1. 语法格式
返回存储在键中的列表的指定元素。 偏移开始和停止是基于零的索引,0是列表的第一个元素(列表的头),1是下一个元素,等等。
这些偏移量也可以是负数,表示从列表末尾开始的偏移量。 例如,-1是列表的最后一个元素,-2是倒数第二个,依此类推。
取值范围:闭合区间,包含起始值
2.返回值
指定范围内的元素列表。
3.示例
1 2 3 4 5 6 7 8 9 10 11 12 13 127.0.0.1:6379> lrange my-list 0 2 1) "d" 2) "c" 3) "b" 127.0.0.1:6379> lrange my-list 0 -1 1) "d" 2) "c" 3) "b" 4) "a" 127.0.0.1:6379> lrange my-list 0 -2 1) "d" 2) "c" 3) "b"
RPUSH 向列表中增加数据(尾部) 1. 语法格式
在存储在键的列表尾部插入所有指定的值。 如果键不存在,则在执行推送操作之前将其创建为空列表。 当key保存不是列表的值时,返回错误。
可以使用单个命令调用来推送多个元素,只需在命令的末尾指定多个参数即可。 元素一个接一个地插入列表的尾部,从最左边的元素到最右边的元素。 因此,例如命令RPUSH mylist a b c将导致包含第一个元素的列表b作为第二个元素,c作为第三个元素。
1 RPUSH key value [value ...]
2.返回值
推送操作后的列表的长度。
3.示例
1 2 3 4 5 6 7 8 127.0.0.1:6379> rpush my-list2 hello wolrd (integer) 2 127.0.0.1:6379> rpush my-list2 nihao (integer) 3 127.0.0.1:6379> lrange my-list2 0 -1 1) "hello" 2) "wolrd" 3) "nihao"
RPUSHX 向列表中增加数据(尾部) 1. 语法格式
与RPUSH类似,不同之处在于,当key不存在时候不插入数据。
只有当密钥已经存在并保存列表时,才会在存储在密钥中的列表的尾部插入值。 与RPUSH相反,当钥匙不存在时,不会执行任何操作。
2.返回值
推送操作后的列表的长度。
3.示例
1 2 3 4 5 6 7 8 9 127.0.0.1:6379> rpushx my-list a (integer) 0 127.0.0.1:6379> rpush my-list a (integer) 1 127.0.0.1:6379> rpushx my-list a (integer) 2 127.0.0.1:6379> lrange my-list 0 -1 1) "a" 2) "a"
LINSERT 向列表中指定位置插入数据 1. 语法格式
在参考值枢轴之前或之后插入存储在键中的列表中的值。
当键不存在时,它被认为是空列表,不执行任何操作。
当键存在但不包含列表值时返回错误。
1 LINSERT key BEFORE|AFTER pivot value
2.返回值
插入操作后的列表的长度,或者当没有找到值的时候的-1。
3.示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 127.0.0.1:6379> lrange my-list2 0 -1 1) "hello" 2) "wolrd" 3) "nihao" 127.0.0.1:6379> linsert my-list2 before hello java (integer) 4 127.0.0.1:6379> lrange my-list2 0 -1 1) "java" 2) "hello" 3) "wolrd" 4) "nihao" 127.0.0.1:6379> linsert my-list2 after hello java (integer) 5 127.0.0.1:6379> lrange my-list2 0 -1 1) "java" 2) "hello" 3) "java" 4) "wolrd" 5) "nihao"
LSET 修改指定位置的数据 1. 语法格式
根据index修改指定位置的值,超出范围的索引返回错误。
2.返回值
OK
3.示例
1 2 3 4 5 6 7 8 127.0.0.1:6379> rpush my-list3 hello (integer) 1 127.0.0.1:6379> lset my-list3 1 world (error) ERR index out of range 127.0.0.1:6379> lset my-list3 0 world OK 127.0.0.1:6379> lrange my-list3 0 -1 1) "world"
LREM 删除数据 1. 语法格式
从存储在键中的列表中删除等于值的元素的第一个计数事件。 计数参数以下列方式影响操作:
count> 0:删除等于从头到尾移动的值的元素。
count <0:删除等于从尾到头移动的值的元素。
count = 0:删除等于value的所有元素。
2.返回值
删除元素的数量。
3.示例
1 2 3 4 5 6 127.0.0.1:6379> rpush my-list4 hello hello hello hello (integer) 4 127.0.0.1:6379> lrem my-list4 1 hello (integer) 1 127.0.0.1:6379> lrem my-list4 0 hello (integer) 3
LTRIM 保留指定key范围内的数据 1. 语法格式
修剪现有列表,使其只包含指定的指定范围的元素。 起始和停止都是基于零的索引,其中0是列表(头)的第一个元素,1是下一个元素,等等。
2.返回值
OK
3.示例
1 2 3 4 5 6 7 127.0.0.1:6379> rpush my-list5 a b c (integer) 3 127.0.0.1:6379> ltrim my-list5 0 1 OK 127.0.0.1:6379> lrange my-list5 0 -1 1) "a" 2) "b"
LPOP 移除头部元素 1. 语法格式
删除并返回存储在键中的列表的第一个元素。
2.返回值
如果存在,第一个元素的值
如果不存在,‘nil’
3.示例
1 2 3 4 5 6 7 127.0.0.1:6379> rpush my-list6 a b c (integer) 3 127.0.0.1:6379> lpop my-list6 "a" 127.0.0.1:6379> lrange my-list6 0 -1 1) "b" 2) "c"
RPOPLPUSH 将移除尾部元素保存另外的集合中(头) 1. 语法格式
原子地返回并删除存储在源中的列表的最后一个元素(尾部),并将元素推送到存储在目的地的列表的第一个元素(头)。
1 RPOPLPUSH source destination
2.返回值
该元素被弹出和推送。
3.示例
1 2 3 4 5 6 7 8 9 10 11 127.0.0.1:6379> rpush my-list7 a b (integer) 2 127.0.0.1:6379> rpush my-list8 c (integer) 1 127.0.0.1:6379> rpoplpush my-list7 my-list8 "b" 127.0.0.1:6379> lrange my-list7 0 -1 1) "a" 127.0.0.1:6379> lrange my-list8 0 -1 1) "b" 2) "c"
LINDEX 取得指定位置的数据 1. 语法格式
返回存储在key中的列表中索引索引处的元素。 索引为零,所以0表示第一个元素,第二个元素为1,依此类推。 负指数可用于指定从列表尾部开始的元素。 这里,-1表示最后一个元素,-2表示倒数第二个等等。
当键值不是列表时,返回错误。
2.返回值
请求的元素,或者当索引超出范围时为nil。
3.示例
1 2 3 4 127.0.0.1:6379> rpush my-list a b (integer) 2 127.0.0.1:6379> lindex my-list 0 "a"
LLEN 返回列表元素的个数 1. 语法格式
返回存储在键中的列表的长度。 如果键不存在,则将其解释为空列表,并返回0。 当key存储的值不是列表时返回错误。
2.返回值
键列表的长度。
3.示例
1 2 3 4 5 6 127.0.0.1:6379> rpush my-list a b (integer) 2 127.0.0.1:6379> llen my-lsit (integer) 0 127.0.0.1:6379> llen my-list (integer) 2
Author:
Darren Du
License:
Copyright (c) 2019 MIT LICENSE