Redis的基本类型之一:Hash

2020-07-11  本文已影响0人  程序员小杰

Redis的Hash中key是一个字符串,value 则是一个 key/value 键值对,hash 特别适合用于存储对象。

1、hset key field value

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

127.0.0.1:6379> hset k1 name gongj
(integer) 1

2、hget key field value

获取存储在哈希表中指定字段的值

127.0.0.1:6379> hget k1 name
"gongj"

3、hmset key field1 value1 [field2 value2 ]

同时将多个 field-value设置到哈希表 key 中

127.0.0.1:6379> hmset k1 name yuanj age 22
OK

4、hmget key field1 [field2]

获取所有给定字段的值

127.0.0.1:6379> hmget k1 name age
1) "yuanj"
2) "22"

5、hdel key field1 [field2]

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

127.0.0.1:6379> hdel k1 age
(integer) 1
127.0.0.1:6379> hget k1 age
(nil)

6、hexists key field]

查看哈希表 key 中,指定的字段是否存在

127.0.0.1:6379> hexists k1 age
(integer) 0
127.0.0.1:6379> hexists k1 name
(integer) 1

7、hgetall key

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

127.0.0.1:6379> hgetall k1
1) "name"
2) "yuanj"

8、hkeys key

获取所有哈希表中的字段

127.0.0.1:6379> hkeys k1
1) "name"

9、hlen key

获取哈希表中字段的数量

127.0.0.1:6379> hlen k1
(integer) 1

10、hsetnx key field value

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

127.0.0.1:6379> hsetnx k1 name gongj
(integer) 0
127.0.0.1:6379> hget k1 name
"yuanj"
127.0.0.1:6379> hsetnx k1 age 22
(integer) 1
127.0.0.1:6379> hgetall k1
1) "name"
2) "yuanj"
3) "age"
4) "22"

11、hvals key

获取哈希表中所有值

127.0.0.1:6379> hvals k1
1) "yuanj"
2) "22"

12、hincrby key field increment

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

127.0.0.1:6379> hincrby k1 age 2
(integer) 24
127.0.0.1:6379> hincrby k1 age 2
(integer) 26
127.0.0.1:6379> hincrby k1 age 2

13、hincrbyfloat key field increment

为哈希表 key 中的指定字段的浮点数值加上增量 increment

127.0.0.1:6379> hincrbyfloat k1 age 0.5
"28.5"

14、hstrlen

返回某一个 key 中的某一个 field 的字符串长度

127.0.0.1:6379> hstrlen k1 age
(integer) 4

15、hscan key cursor [MATCH pattern] [COUNT count]

迭代哈希表中的键值对

127.0.0.1:6379> hscan k1 0 match n*
1) "0"
2) 1) "name"
   2) "yuanj"

以上所以只是均来自于大佬江南一点雨
个人博客:[http://www.javaboy.org/]

上一篇 下一篇

猜你喜欢

热点阅读