Redis

Redis 笔记(七)-Hash(哈希)类型详解

2021-08-09  本文已影响0人  yjtuuige
命令 说明
hset 设置一个key/value对
hget 获得一个key对应的value
hgetall 获得所有的key/value对
hdel 删除某一个key/value对
hexists 判断一个key是否存在
hlen 获取哈希表中字段的数量
hkeys 获得所有的key
hvals 获得所有的value
hmset 设置多个key/value
hmget 获得多个key的value
hsetnx 设置一个不存在的 key 的值,如 key 存在则不能设置
hincrby 为value进行加法运算
hincrbyfloat 为value加入浮点值
127.0.0.1:6379> hset myhash field1 h1        # set 一个具体 key-value
(integer) 1
127.0.0.1:6379> hget myhash field1        # 获取一个字段值
"h1"
127.0.0.1:6379> hmset myhash field1 hello field2 world        # set 多个 key-value
OK
127.0.0.1:6379> hmget myhash field1 field2        # 获取多个字段值
1) "hello"
2) "world"
127.0.0.1:6379> hgetall myhash        # 获取全部的数据
1) "field1"            # key
2) "hello"             # value
3) "field2"
4) "world"
127.0.0.1:6379> hdel myhash field1        # 删除 hash 指定 key 字段,对应的 value 值消失
(integer) 1
127.0.0.1:6379> hgetall myhash
1) "field2"
2) "world"
127.0.0.1:6379> hgetall myhash
1) "field2"
2) "world"
3) "field1"
4) "hello"
127.0.0.1:6379> hlen myhash          # 获取 hash 表的字段数量
(integer) 2
127.0.0.1:6379> hexists myhash field1
(integer) 1            # 1 表示存在
127.0.0.1:6379> hexists myhash field3
(integer) 0            # 0 表示不存在
127.0.0.1:6379> hkeys myhash
1) "field2"
2) "field1"
127.0.0.1:6379> hvals myhash
1) "world"
2) "hello"
127.0.0.1:6379> hset myhash field3 0        # 添加字段,初始值为 0
(integer) 0
127.0.0.1:6379> hincrby myhash field3 1        # 指定增量 1
(integer) 1
127.0.0.1:6379> hvals myhash
1) "world"
2) "hello"
3) "1"
127.0.0.1:6379> hincrby myhash field3 -1        # 指定增量 -1,相当于自减 decr
(integer) 0
127.0.0.1:6379> hsetnx myhash field4 hello        # key 不存在,可以设置
(integer) 1
127.0.0.1:6379> hsetnx myhash field4 hello        # key 已存在,不可以设置
(integer) 0
127.0.0.1:6379> hset user:1 name li        # user:1 为 hash 的一个对象
(integer) 1
127.0.0.1:6379> hset user:1 name li age 20      # 在user:1 对象下,添加 name 和 age 字段
(integer) 1
127.0.0.1:6379> hvals user:1
1) "li"
2) "20"
127.0.0.1:6379> hgetall user:1
1) "name"
2) "li"
3) "age"
4) "20"
127.0.0.1:6379> hkeys user:1
1) "name"
2) "age"
上一篇 下一篇

猜你喜欢

热点阅读