版权声明:作者:人学物理死的早 出处:https://blog.csdn.net/weixin_39561473 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。 https://blog.csdn.net/weixin_39561473/article/details/89279275
Redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象。
key | value |
stu | (field:value)id:1,name:'人学物理死的早',age:18 |
常用操作:
1、hset
将哈希表 key 中的域 field 的值设为 value
127.0.0.1:6379> hset k1 id 1 name 人学物理死的早 age 18
(integer) 3
2、hget
获取哈希表 key 中给定域 field 的值
127.0.0.1:6379> hget k1 id
"1"
127.0.0.1:6379> hget k1 age
"18"
3、hmset
同时将多个 field-value (域-值)对设置到哈希表 key 中
127.0.0.1:6379> hmset k2 id 1 name lx age 18
OK
4、hmget
获取哈希表 key 中一个或多个给定域的值
127.0.0.1:6379> hmget k2 id name age
1) "1"
2) "lx"
3) "18"
5、hgetall
获取哈希表 key 中所有的域和值
127.0.0.1:6379> hgetall k2
1) "id"
2) "1"
3) "name"
4) "lx"
5) "age"
6) "18"
6、hdel
删除哈希表 key 中的一个或多个指定域field
127.0.0.1:6379> hdel k1 name
(integer) 1
127.0.0.1:6379> hgetall k1
1) "id"
2) "1"
3) "age"
4) "18"
7、 hkeys
查看哈希表 key 中的所有field域
127.0.0.1:6379> hkeys k1
1) "id"
2) "age"
127.0.0.1:6379> hkeys k2
1) "id"
2) "name"
3) "age"
8、hvals
查看哈希表 key 中所有域的值
127.0.0.1:6379> hvals k1
1) "1"
2) "18"
127.0.0.1:6379> hvals k2
1) "1"
2) "lx"
3) "18"
9、类型
127.0.0.1:6379> type k2
hash
10、其他操作
hlen:获取哈希表 key 中域field的个数
127.0.0.1:6379> hlen k1
(integer) 2
127.0.0.1:6379> hlen k2
(integer) 3
hexists:查看哈希表 key 中,给定域 field 是否存在
127.0.0.1:6379> hexists k1 name
(integer) 0
127.0.0.1:6379> hexists k2 name
(integer) 1
hincrby:为哈希表 key 中的域 field 的值加上增量 increment
127.0.0.1:6379> hincrby k1 id 2
(integer) 3
127.0.0.1:6379> hgetall k1
1) "id"
2) "3"
3) "age"
4) "18"
hincrbyfloat:为哈希表 key 中的域 field 加上浮点数增量 increment
127.0.0.1:6379> hincrbyfloat k1 id 0.5
"3.5"
hsetnx:将哈希表 key 中的域 field 的值设置为 value ,当且仅当域 field 不存在的时候才设置,否则不设置
127.0.0.1:6379> hsetnx k1 name hx
(integer) 1
127.0.0.1:6379> hsetnx k1 id 1
(integer) 0
127.0.0.1:6379> hgetall k1
1) "id"
2) "3.5"
3) "age"
4) "18"
5) "name"
6) "hx"