zoukankan      html  css  js  c++  java
  • Redis Hash和List常用命令

    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 命令:在指定时间内移动列表元素到另一列表中
  • 相关阅读:
    在CentOS 8 上 部署 .Net Core 应用程序
    Asp.Net Core 查漏补缺《一》 —— IStartFilter
    接口相关数据日志打印
    退款
    识别身份证
    生成二维码
    打造一款简单易用功能全面的图片上传组件
    Redis过期策略+缓存淘汰策略
    Redis主从复制
    .net 平台常用框架
  • 原文地址:https://www.cnblogs.com/undefined22/p/12565525.html
Copyright © 2011-2022 走看看