Redis的散列可以让用户将多个键值对存储到一个Redis键里面。从功能来说,Redis为散列提供了一些于字符串相同的特性,是的散列非常适用于将一些关联的数据存储在一起。可以把这种数据聚集看作是关系数据库中的行,或者文档数据库中的文档。
常用命令
| 命令 | 用例 | 描述 | 注意 |
|---|---|---|---|
| hmset | hmset key-name key value [key value …] | 添加一个或多个key value键值对 | |
| hmget | hmget key-name key [key …] | 从散列中获取一个或多个值 | |
| hdel | hdel key-name key [key …] | 从散列中移除一个或多个键 | |
| hlen | hlen key-name | 返回散列的键值对数量 |
hmset 添加键值对
127.0.0.1:6379> hmset map key1 v1 key2 v2 key3 v3
OK
hmget 查看键对应的值
127.0.0.1:6379> hmget map key1 key2 key3
1) "v1"
2) "v2"
3) "v3"
hdel 删除键
127.0.0.1:6379> hdel map key1
(integer) 1
127.0.0.1:6379> hmget map key1
1) (nil)
hlen 查看键值对数量
127.0.0.1:6379> hlen map
(integer) 2
高级特性
| 命令 | 用例 | 描述 | 注意 |
|---|---|---|---|
| hexists | hexists key-name key | 检查key是否在散列里 | |
| hkeys | hkeys key-name | 返回散列所有的键 | |
| hvals | hvals key-name | 返回散列所有的值 | |
| hgetall | hgetall key-name | 返回散列所有的键值对 | 如果数据过大,导致线程阻塞 |
| hincrby | hincrby key-name key increment | 将key的值加上整数increment | |
| hincrbyfloat | hincrbyfloat key-name key increment | 将key的值加上浮点数increment |
尽管 hgetall 存在,但是不建议使用,如果散列包含的数据特别大,那么用户可以先使用hkeys查询到所有的键,再使用hget一个接一个的从散列中取出键的值,从而避免因为一次获取多个大体积的值而导致服务器阻塞。
hincrby 和 hincrbyfloat 同字符串的用法相同,只不过在在这儿处理的是散列。
博客介绍了Redis散列,它能将多个键值对存于一个Redis键中,适用于关联数据存储。还列举了常用命令,如hmset添加键值对、hmget查看值等。高级特性方面,不建议用hgetall,可先hkeys查键再hget取值,hincrby和hincrbyfloat用法与字符串类似。
240

被折叠的 条评论
为什么被折叠?



