Redis 哈希 Hash

Redis 哈希 Hash

Redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象。
Redis 中每个 hash 可以存储 232 - 1 键值对(40多亿)。

  1. hmset key field1 value1 [field2 value2…]

    同时将多个field-value(域-值)对设置到哈希表key中

    返回值

    如果命令执行成功,返回 OK

    `127.0.0.1:6379> hmset hxtest1 name "zhangsan" username "zs.com" password "1234" age 20 gender "woman"`
    `OK`
    
  2. hdel key field2[field2]

    删除一个或多个哈希表字段

    返回值

    被成功删除字段的数量,不包括被忽略的字段。

    `127.0.0.1:6379> hdel hxtest1 name`
    `(integer) 1`
    `127.0.0.1:6379> hget hxtest1 name`
    `(nil)`
    
  3. hexists key field

    查看哈希表key中,指定的自读研是否存在

    返回值

    如果哈希表含有给定字段,返回 1 。 如果哈希表不含有给定字段,或 key 不存在,返回 0 。

    `127.0.0.1:6379> hexists hxtest1 name`
    `(integer) 0`
    
  4. hgetall key

    获取在哈希表中指定key的所有字段和值

    返回值

    以列表形式返回哈希表的字段及字段值。 若 key 不存在,返回空列表。

    `127.0.0.1:6379> hgetall hxtest1`
    `1) "username"`
    `2) "zs.com"`
    `3) "password"`
    `4) "1234"`
    `5) "age"`
    `6) "20"`
    `7) "gender"`
    `8) "woman"`
    
  5. hincrby key field increment

    给哈希表key中的指定字段的整数值加上增加量increment

    返回值

    执行 HINCRBY 命令之后,哈希表中字段的值。

    `127.0.0.1:6379> hincrby hxtest1 age 10`
    `(integer) 30`
    `127.0.0.1:6379> hget hxtest1 age`
    `"30"`
    
  6. hkeys key

    获取所有哈希表中的字段

    返回值

    包含哈希表中所有字段的列表。 当 key 不存在时,返回一个空列表。

    `127.0.0.1:6379> hkeys hxtest1`
    `1) "username"`
    `2) "password"`
    `3) "age"`
    `4) "gender"`
    
  7. hlen key

    获取哈希表中字段的数量

    返回值

    哈希表中字段的数量。 当 key 不存在时,返回 0 。

    127.0.0.1:6379> hlen hxtest1
    (integer) 4

  8. hmget key field1 [field2]

    获取所有给定字段的值

    返回值

    一个包含多个给定字段关联值的表,表值的排列顺序和指定字段的请求顺序一样。

    `127.0.0.1:6379> hmget hxtest1 username password gender`
    `1) "zs.com"`
    `2) "1234"`
    `3) "woman"`
    
  9. hset key field value

    将哈希表key中的字段field的值设为value

    返回值

    如果字段是哈希表中的一个新建字段,并且值设置成功,返回 1 。 如果哈希表中域字段已经存在且旧值已被新值覆盖,返回 0 。

    `127.0.0.1:6379> hset hxtest1 name "zhangsan"`
    `(integer) 1`
    `127.0.0.1:6379> hget hxtest1 name`
    `"zhangsan"`
    
  10. hsetnx key field value

    只有字段field不存在时,设置哈希表字段的值

    返回值

    设置成功,返回 1 。 如果给定字段已经存在且没有操作被执行,返回 0 。

    `127.0.0.1:6379> hsetnx hxtest1 name "lisi"`
    `(integer) 0`
    `127.0.0.1:6379> hsetnx hxtest1 mail "888@163.com"`
    `(integer) 1`
    `127.0.0.1:6379> hgetall hxtest1`
     `1) "username"`
     `2) "zs.com"`
     `3) "password"`
     `4) "1234"`
     `5) "age"`
     `6) "30"`
     `7) "gender"`
     `8) "woman"`
     `9) "name"`
    `10) "zhangsan"`
    `11) "mail"`
    `12) "888@163.com"`
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值