大家好,今天来分享一下redis hash 哈希类型的解释
Redis hash 是一个 string 类型的 field(字段) 和 value(值) 的映射表,hash 特别适合用于存储对象。
Redis 中每个 hash 可以存储 232 - 1 键值对(40多亿)。
hash(哈希)
这个直接把它理解成map 集合就可以了
之前我们说的set 集合是键值对的形式
哈希这一块,理解成key-map集合的形式
在redis当中 ,所有的哈希的命令是以h开头的
这个其实跟我们之前那个也没有什么区别:
127.0.0.1:6379> HSET xueke f1 linux
(integer) 1
获取值:
127.0.0.1:6379> HGET xueke f1
“linux”
设置多个键值
127.0.0.1:6379> HMSET xueke f1 jiao f2 lili
OK
同时获取多个字段值
127.0.0.1:6379> HMGET xueke f1 f2
1) "jiao"
2) "lili"
删除指定的数据
127.0.0.1:6379> HDEL xueke f1
(integer) 1
看现在的数据
127.0.0.1:6379> HGETALL xueke
1) "f2"
2) "lili"
设多个值
127.0.0.1:6379> HMSET xueke f1 linux f2 shell
OK
获得所有的数据
127.0.0.1:6379> HGETALL xueke
1) "f1"
2) "linux"
3) "f2"
4) "shell"
判断数据是否存在(1代表存在)
127.0.0.1:6379> HEXISTS xueke f1
(integer) 1
这个就是不存在
127.0.0.1:6379> HEXISTS xueke f5
(integer) 0
判断数据的个数
127.0.0.1:6379> hlen xueke
(integer) 2
获得所在field
127.0.0.1:6379> hkeys xueke
1) "f1"
2) "f2"
只获得值
127.0.0.1:6379> HVALS xueke
1) "linux"
2) "shell"
127.0.0.1:6379>
27.0.0.1:6379> HSET xuexi f3 7
(integer) 1
127.0.0.1:6379> hincrby xuexi f3 1
(integer) 8
127.0.0.1:6379> HINCRBY xueke f3 1
(integer) 1
127.0.0.1:6379>
127.0.0.1:6379> HSET user:1 name shuaige //变化的数据
(integer) 1
127.0.0.1:6379>
取值
127.0.0.1:6379> hget user:1 name
"shuaige"
这里说一下: Redis hash (哈希),更适合与对象的存储
好了,有关于redis hash 哈希类型的解释就到这里了,谢谢大家