Hash
Map集合,key-map!时候这个值是一个map集合!本质和String类型没有太大区别,还是一个简单的 key-vlaue !
key- - -map()====>key - - - (key- - -> value)
##################################################################################
127.0.0.1:6379> hset xsyhash field1 helloxsy1 // set一个具体key-v1aue
(integer) 1
127.0.0.1:6379> hget xsyhash field1 //获取一个字段值
“helloxsy1”
127.0.0.1:6379> hmset xsyhash field1 hello field2 world // 同时set多个key-vlaue
OK
127.0.0.1:6379> hmget xsyhash field1 field2 // 获取多个字段值
1 ) “hello”
2 ) “world”
127.0.0.1:6379> hgetall xsyhash // 获取全部的数据,
1 ) “field1” // key
2 ) “hello” // value
3 ) “field2”
4 ) “world”
127.0.0.1:6379> hdel xsyhash field1 // 删除hash指定key字段!对应的value值也就消失了!
(integer) 1
127.0.0.1:6379> hgetall xsyhash
1 ) “field2”
2 ) “world”
127.0.0.1:6379> hlen xsyhash // 获取hash表的字段数量!
(integer) 1
127.0.0.1:6379> HEXISTS xsyhash field1 // 判断hash中指定字段是否存在!
(integer) 0
127.0.0.1:6379> HEXISTS xsyhash field2
(integer) 1
127.0.0.1:6379> hkeys xsyhash //只获得所有field
1 ) “field2”
127.0.0.1:6379> HVALS xsyhash // 只获得所有value
1 ) “world”##################################################################################
##################################################################################
127.0.0.1:6379> hset xsyhash f3 5
(integer) 1
127.0.0.1:6379> HINCRBY xsyhash f3 1 // 指定增量!
(integer) 6
127.0.0.1:6379> hgetall xsyhash
1 ) “field2”
2 ) “world”
3 ) “f3”
4 ) “6”
127.0.0.1:6379> HINCRBY xsyhash f3 -1
(integer) 5
127.0.0.1:6379> hgetall xsyhash
1 ) “field2”
2 ) “world”
3 ) “f3”
4 ) “5”
127.0.0.1:6379> hsetnx xsyhash f4 hello // 如果不存在则可以设置
(integer) 1
127.0.0.1:6379> hsetnx xsyhash f4 hello // 如果存在则不能设置
(integer) 0
127.0.0.1:6379> hgetall xsyhash
1 ) “field2”
2 ) “world”
3 ) “f3”
4 ) “5”
5 ) “f4”
6 ) “hello”
##################################################################################
hash适合存储变更的数据user name age,尤其是是用户信息之类的,经常变动的信息!
hash更适合于对象的存储,String更加适合字符串存储!