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 命令:在指定时间内移动列表元素到另一列表中
推荐阅读
-
Redis数据库(string和hash类型)
-
Redis数据库(string和hash类型)
-
Python操作redis实例小结【String、Hash、List、Set等】
-
php操作redis中的hash和zset类型数据的方法和代码例子
-
Redis启动服务和String常用命令
-
Redis Hash和List常用命令
-
Python操作redis实例小结【String、Hash、List、Set等】
-
【原创】详细案例解剖——浅谈Redis缓存的常用5种方式(String,Hash,List,set,SetSorted )
-
解析redis hash应用场景和常用命令
-
Redis缓存Object,List对象 - Java 对象和List的序列化和反序列化