Redis Hash基本操作
hset:set一个key-value
hget:获取一个字段
hmset:set多个key-value
hmget:获取多个字段
hgetall:获取全部数据
127.0.0.1:6379> hset hash field 1
(integer) 1
127.0.0.1:6379> hget hash field
"1"
127.0.0.1:6379> hmset hash field1 hello field2 world #set多个字段
OK
127.0.0.1:6379> hmget hash field1 field2 #获取多个字段
1) "hello"
2) "world"
127.0.0.1:6379> hgetall hash #获取全部数据
1) "field"
2) "1"
3) "field1"
4) "hello"
5) "field2"
6) "world"
hdel:删除
127.0.0.1:6379> hdel hash field #删除指定的key,对应的值也一起删除了
(integer) 1
127.0.0.1:6379> hgetall hash
1) "field1"
2) "hello"
3) "field2"
4) "world"
hlen:字段数量
127.0.0.1:6379> hgetall hash
1) "field1"
2) "hello"
3) "field2"
4) "world"
127.0.0.1:6379> hlen hash #获取hash的字段数量
(integer) 2
hexists:判断某个字段是否存在
127.0.0.1:6379> hexists hash field1
(integer) 1
127.0.0.1:6379> hexists hash field212
(integer) 0
hkeys:获取所有的field
hvals:获取所有的值
127.0.0.1:6379> hkeys hash
1) "field1"
2) "field2"
127.0.0.1:6379> hvals hash
1) "hello"
2) "world"
incrby:指定增量
127.0.0.1:6379> hset hash field3 4
(integer) 1
127.0.0.1:6379> hincrby hash field3 4
(integer) 8
127.0.0.1:6379> hsetnx hash field5 test #不存在就创建
(integer) 1
127.0.0.1:6379> hsetnx hash field5 new #存在就不能set
(integer) 0
应用:
存一些经常容易变更的数据,例如user,包含用户姓名,性别,年龄等信息的,经常变动。hash适合于对象的存储,String适合字符串存储