• Redis之HASH


    HASH 哈希

    Redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象。

    Redis 中每个 hash 可以存储 232 - 1 键值对(40多亿)。

    示例

    HSET key field value ­­ 设置 key 指定的哈希集中指定字段的值

    > hset myhash field1 Hello
    

    hget ­­ 获取指定的hash field。

    > hget myhash field1  
     "Hello"
    > hget myhash field3  
     (nil)
    

    由于数据库没有field3,所以取到的是一个空值nil.

    HSETNX key field value ­­ 只在 key 指定的哈希集中不存在指定的字段时,设置字段的值。如果 key 指定的哈希集不存在,会创建一个新的哈希集并与 key 关联。如果字段已存在,该操作无效果。

    > hsetnx myhash field "Hello"   
    (integer) 1
    > hsetnx myhash field "Hello"   
    (integer) 0
    

    第一次执行是成功的,但第二次执行相同的命令失败,原因是field已经存在了。

    hmset ­­ 同时设置hash的多个field。

    > hmset myhash field1 Hello field2 World   
    > OK
    

    hmget ­­ 获取全部指定的hash filed。

    > hmget myhash field1 field2 field3   
    1) "Hello"
    2) "World"
    3) (nil)
    

    hincrby ­­ 指定的hash filed 加上给定值。

    > hset myhash field3 20  
     (integer) 1
    > hget myhash field3  
     "20"
    > hincrby myhash field3 -8   
    (integer) 12
    > hget myhash field3   
    "12
    

    hexists ­­ 测试指定field是否存在。

    > hexists myhash field1
      (integer) 1
    > hexists myhash field9
      (integer) 0   
      通过上例可以说明field1存在,但field9是不存在的。
    

    hdel 从 key 指定的哈希集中移除指定的域

    127.0.0.1:6379> hkeys myhash
    1) "field1"
    2) "field"
    3) "field2"
    4) "field3"
    127.0.0.1:6379> hdel myhash field
    (integer) 1
    127.0.0.1:6379> hkeys myhash
    1) "field1"
    2) "field2"
    3) "field3"
    127.0.0.1:6379>
    

    hlen ­­ 返回指定hash的field数量。

    > hlen myhash
      (integer) 4
    

    hkeys ­­ 返回hash的所有field。

    > hkeys myhash   
    > 1) "field2"   
    > 2) "field"   
    > 3) "field3"
    

    说明这个hash中有3个field。

    hvals ­­ 返回hash的所有value。

    > hvals myhash   
    1) "World"   
    2)"Hello"   
    3)"12"
    

    说明这个hash中有3个field。

    hgetall ­­ 获取某个hash中全部的filed及value。

    > hgetall myhash   
    1) "field2"   
    2) "World" 
    3) "field"  
    4) "Hello"   
    5) "field3"   
    6) "12"
    

    hvals -- 返回 hash 的所有 value。

    127.0.0.1:6379> hvals myhash
    1) "hello"
    2) "hello"
    3) "hello2"
    4) "12"
    

     

  • 相关阅读:
    转:关于C++ const 的全面总结
    HDOJ->考新郎(sdut1021)
    有些人笑着,其实心里哭的很疼
    HDU-2084 数塔
    SDUT2176 -> 递归的函数
    删数问题(SDUT2072 )
    微信2种access_token对比
    nginx配置C compiler cc is not found
    ftp无法连接的原因
    php的ftp类
  • 原文地址:https://www.cnblogs.com/wzjbg/p/6596940.html
Copyright © 2020-2023  润新知