Redis的Hashes正如我们所知,就是键-值对。
Hashes很适合用来表示对象,实际上Hashes中可以存储的字段数量并没有限制(但不能超出内存限制),因此Hashes的用法比较多样。
常用命令
HMSET给Hashes设置多个字段,而HGET检索单个字段。HMGET与HGET类似,但是返回一个值数组:
127.0.0.1:6379> hmset user:1024 username jack birthyear 1977
OK
127.0.0.1:6379> hget user:1024 username
"jack"
127.0.0.1:6379> hget user:1024 birthyear
"1977"
127.0.0.1:6379> hmget user:1024 username birthyear no-such-field
1) "jack"
2) "1977"
3) (nil)
127.0.0.1:6379> hgetall user:1024
1) "username"
2) "jack"
3) "birthyear"
4) "1977"
还有一些命令也可以对单个字段执行操作,比如HINCRBY:
127.0.0.1:6379> hincrby user:1024 birthyear 10
(integer) 1987
127.0.0.1:6379> hincrby user:1024 birthyear -10
(integer) 1977
值得注意的是小Hashes(键少 & 值小)在内存中以特殊的方式进行编码,这使得它们的内存效率非常高。
网友评论