就像一个减配的Redis
内部及其类似Java的Map
内容就是
key
:value
结构
hash
类型在面向对象编程的运用中及其适合,因为它可以直接保存编程语言中的实体类关系
hset key field value
设置key
指定的哈希集字段的值
127.0.0.1:6379> hset user name zhangsan
(integer) 1
127.0.0.1:6379> hset user age 23
(integer) 1
127.0.0.1:6379> hset user address china
(integer) 1
hsetnx key field value
真正的哈希添加方法,如果field
不存在则添加
h
hmset key field1 value1 [field2 value2]
hset
的批量操作
127.0.0.1:6379> hmset zhangsan name zhangsan age 19 address hunan
OK
hget key field
查询指定key
的某个字段的值
127.0.0.1:6379> hget user name
"zhangsan"
hexists key field
判断key
中是否存在某个字段
127.0.0.1:6379> hexists user name
(integer) 1
127.0.0.1:6379> hexists user name2
(integer) 0
hkeys key
返回哈希中所有的字段名
hvals key
返回哈希中所有的value
hgetall key
获取哈希中所有的字段和值
127.0.0.1:6379> hgetall user
1) "name"
2) "zhangsan"
3) "age"
4) "23"
5) "address"
6) "china"
hlen key
查询哈希的字段数量
hstrlen key field
查询某个字段的值的长度
修改某个字段的命令也是hset
如果
hset
操作执行的field
字段之前已经存在值,那么就相当于修改存在
127.0.0.1:6379> hset user name "zhangwuji"
(integer) 0 #虽然把那么修改了,但是因为这个命令没有对hash内部做添加操作,返回值是新添加数量,所以这里是0
hincrby key field incremment
将哈希内部的某个整数字段的值自加,incremment
为增量
127.0.0.1:6379> hincrby user skill 1
(integer) 11
127.0.0.1:6379> hincrby user skill 1
(integer) 12
hincrbyfloatkey field incremment
将哈希内部的某个浮点字段的值自加,incremment
为增量
hdel key field1 field2 ...
删除哈希中n个字段
原文:https://www.cnblogs.com/liangshu/p/12409653.html