Redis哈希命令
1.HSET/HMSET/HGET/HMGET/HGETALL/HDEL
Redis Hset 命令用于为哈希表中的字段赋值 。
Redis Hmset 命令用于同时将多个 field-value (字段-值)对设置到哈希表中。
Redis Hget 命令用于返回哈希表中指定字段的值。
Redis Hmget 命令用于返回哈希表中,一个或多个给定字段的值。
Redis Hgetall 命令用于返回哈希表中,所有的字段和值。
Redis Hdel 命令用于删除哈希表 key 中的一个或多个指定字段,不存在的字段将被忽略。
127.0.0.1:6379> hset key one '123' # 设置一个字段并赋值
(integer) 1
127.0.0.1:6379> hmset key two '456' three '789' # 设置多个字段并赋值
OK
127.0.0.1:6379> hget key one # 获取一个字段得值
“123"
127.0.0.1:6379> hmget key one two # 获取多个字段的值
1) "123"
2) "456"
127.0.0.1:6379> hgetall key # 获取所有的key
1) "one"
2) "123"
3) "two"
4) "456"
5) "three"
6) "789"
127.0.0.1:6379> hdel key three # 删除某个字段
(integer) 1
127.0.0.1:6379> hgetall key
1) "one"
2) "123"
3) "two"
4) "456"
2.HEXISTS(存在不存在)
Redis Hexists 命令用于查看哈希表的指定字段是否存在。如果哈希表含有给定字段,返回 1 。 如果哈希表不含有给定字段,或 key 不存在,返回 0 。
127.0.0.1:6379> hexists key one
(integer) 1
3.HINCRBY/HINCRBYFLOAT
Redis Hincrby 命令用于为哈希表中的字段值加上指定增量值。
Redis Hincrbyfloat 命令用于为哈希表中的字段值加上指定浮点数增量值。
127.0.0.1:6379> hincrby key one 123 # 加指定值
(integer) 246
127.0.0.1:6379> hincrbyfloat key one 0.123 # 加浮点数
"246.123"
4.HKEYS/HVALS
Redis Hkeys 命令用于获取哈希表中的所有域(field),返回包含哈希表中所有域(field)列表。
Redis Hvals 命令返回哈希表所有域(field)的值,返回一个包含哈希表中所有域(field)值的列表。 当 key 不存在时,返回一个空表。
127.0.0.1:6379> hkeys key # 返回所有键
1) "one"
2) “two"
3) “three”
127.0.0.1:6379> hvals key # 返回所有值
1) "123"
2) "456"
3) "789"
5.HLEN
Redis Hlen 命令用于获取哈希表中字段的数量。返回哈希表中字段的数量。 当 key 不存在时,返回 0 。
127.0.0.1:6379> hlen key # 求里面有几个字段
(integer) 3
6.HSCAN
Redis HSCAN 命令用于迭代哈希表中的键值对。
语法:HSCAN key cursor [ MATCH pattern ] [COUNT count]
cursor - 游标。
pattern - 匹配的模式。
count - 指定从数据集里返回多少元素,默认值为 10 。
127.0.0.1:6379> hgetall key
1) "one"
2) "123"
3) "two"
4) "456"
5) "three"
6) "789"
7) "one1"
8) "123"
9) "one2"
10) "123"
11) "one3"
12) "123"
127.0.0.1:6379> hscan key 0 match one* count 10 # 迭代提取one*的元素
1) "0"
2) 1) "one"
2) "123"
3) "one1"
4) "123"
5) "one2"
6) "123"
7) "one3"
8) "123"