1、hset 和 hget 命令
127.0.0.1:6379> hset myhash name tb # 设置一个值
(integer) 1
127.0.0.1:6379> hget myhash name # 获取一个值
"tb"
127.0.0.1:6379> hmset myhash age 15 sex 1 # 设置多个值
OK
127.0.0.1:6379> hmget myhash age sex
1) "15"
2) "1"
127.0.0.1:6379> hgetall myhash # 获取所有的键和值
1) "name"
2) "tb"
3) "age"
4) "15"
5) "sex"
6) "1"
2、hdel 和hlen 命令
127.0.0.1:6379> hgetall myhash
1) "name"
2) "tb"
3) "age"
4) "15"
5) "sex"
6) "1"
127.0.0.1:6379> hdel myhash name # 删除指定的键和值
(integer) 1
127.0.0.1:6379> hgetall myhash
1) "age"
2) "15"
3) "sex"
4) "1"
127.0.0.1:6379> hlen myhash # 获取myhash中的键值对个数
(integer) 2
3、hexists、hkeys 和hvals 命令
127.0.0.1:6379> hexists myhash name # 判断hash中指定字段是否存在
(integer) 0
127.0.0.1:6379> hexists myhash age
(integer) 1
127.0.0.1:6379> hkeys myhash # 获得hash中所有的健
1) "age"
2) "sex"
127.0.0.1:6379> hvals myhash # 获得hash中所有的值
1) "15"
2) "1"
4、hincrby和hsetnx 命令
127.0.0.1:6379> hset myhash age 5
(integer) 1
127.0.0.1:6379> hincrby myhash age 1 # 自增
(integer) 6
127.0.0.1:6379> hincrby myhash age -1
(integer) 5
127.0.0.1:6379> hsetnx myhash filed hello # 如果不存在就可以设置值
(integer) 1
127.0.0.1:6379> hsetnx myhash filed word # 如果存在则不能设置值
(integer) 0
总结
Hash用于数据的变更,尤其是用户经常变动的信息(hset user:1 name tb user:1 age 15)!
Hash更适合于对象的存储,String更加适合字符串存储!