欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Redis Hash和List常用命令

程序员文章站 2023-02-08 15:28:54
Redis Hash和List常用命令 Hash 1. HSET 命令 2. HSETNX 命令:为哈希表不存在的域设值 使用 HSETNX 命令当且仅当域 field 不存在时,将哈希表 key 中的 field 的值设置为 value。如果 field 已经存在,那么 HSETNX 命令将会执行 ......

redis hash和list常用命令

hash

1. hset 命令
127.0.0.1:6379> hset book history "story"
(integer) 1
2. hsetnx 命令:为哈希表不存在的域设值

使用 hsetnx 命令当且仅当域 field 不存在时,将哈希表 key 中的 field 的值设置为 value。如果 field 已经存在,那么 hsetnx 命令将会执行无效。

3. hmset 命令:设置多个域和值到哈希表中
4. hget 命令:获取哈希表中域的值
5. hgetall 命令:获取哈希表中所有的域和值
6. hmget 命令:获取多个域的值
127.0.0.1:6379> hget book history
"story"
127.0.0.1:6379> hgetall book
1) "history"
2) "story"
7. hkeys 命令:获取哈希表中的所有域
8. hvals 命令:获取哈希表中所有域的值
9. hlen 命令:统计哈希表中域的数量
127.0.0.1:6379> hlen book
(integer) 1
10. hstrlen 命令:统计域的值的字符串长度
11. hincrby 命令:为哈希表中的域加上增量值
12. hincrbyfloat 命令:为哈希表中的域加上浮点数增量值
13. hdel 命令:删除哈希表中的多个域
14. hexists 命令:判断哈希表中的域是否存在

list

1. lpush 命令:将多个值插入列表头部
2. rpush 命令:将多个值插入列表尾部
127.0.0.1:6379> lpush bookorder 12 13 15
(integer) 3
127.0.0.1:6379> rpush bookorder 100
(integer) 4
3. linsert 命令:插入一个值到列表中
127.0.0.1:6379> linsert bookorder before 3 200
(integer) -1
127.0.0.1:6379> linsert bookorder before 13 200
(integer) 5
4. lpushx 命令:将值插入列表头部

lpushx 命令用于将 value 值插入列表 key 的头部,此时 key 必须存在,并且是列表类型的。lpushx 命令与 lpush 命令相反,当 key 不存在时,lpushx 命令不会创建一个新的空列表,它什么也不做。

5. rpushx 命令:将值插入列表尾部
6. lset 命令:修改列表元素值
127.0.0.1:6379> lset bookorder 2 0
ok
7. llen 命令:统计列表的长度
8. lindex 命令:获取列表元素的值
9. lrange 命令:获取列表指定区间内的元素
127.0.0.1:6379> llen bookorder
(integer) 5
127.0.0.1:6379> lindex bookorder 2
"0"
127.0.0.1:6379> lrange bookorder 0 -1
1) "15"
2) "200"
3) "0"
4) "12"
5) "100"
10. lpop 命令:返回并删除列表的头元素
11. rpop 命令:返回并删除列表的尾元素
12. blpop 命令:在指定时间内删除列表的头元素(阻塞timeout后删除头元素)
blpop key timeout

返回值:如果在指定的 timeout 时间内没有返回任何元素,则将会返回 nil 和等待时长。而如果在 timeout 时间内返回一个列表,那么这个列表中的第一个元素表示被返回元素所属的 key,第二个元素表示被返回元素的值。

13. brpop 命令:在指定时间内删除列表的尾元素(阻塞,同上)
127.0.0.1:6379> lpop bookorder
"15"
127.0.0.1:6379> rpop bookorder
"100"
127.0.0.1:6379> lrange bookorder 0 -1
1) "200"
2) "0"
3) "12"
127.0.0.1:6379> blpop bookorder 15
1) "bookorder"
2) "200"
14. lrem 命令:删除指定个数的元素
lrem key count value

lrem 命令用于根据参数 count 的值,删除列表 key 中与指定参数 value 相等的元素。

● 当 count 等于 0 时,表示删除列表 key 中所有与 value 相等的元素。

● 当 count 大于 0 时,表示从列表 key 的表头开始向表尾搜索,删除与 value 相等的元素,删除的数量为 count 个。

● 当 count 小于 0 时,表示从列表 key 的表尾开始向表头搜索,删除与 value 相等的元素,删除的数量为 count 的绝对值个。

返回值:当列表 key 存在时,执行该命令后,返回被删除的元素数量。当列表 key 不存在时,就是一个空列表,该命令始终返回 0。

15. **ltrim 命令:留下指定区间的元素
127.0.0.1:6379> lrange bookorder 0 -1
1) "0"
2) "12"
127.0.0.1:6379> ltrim bookorder 0 0
ok
127.0.0.1:6379> lrange bookorder 0 -1
1) "0"
16. rpoplpush 命令:将列表元素移动到另一列表中
17. brpoplpush 命令:在指定时间内移动列表元素到另一列表中