hash(哈希)
map集合 k-map
关于哈希操作的命令一般都是以h开头的
创建一个哈希
hset
创建一个哈希
127.0.0.1:6379> hset myhash f1 hello
(integer) 1
读取一个哈希
127.0.0.1:6379> HGET myhash f1
"hello"
127.0.0.1:6379>
设置多个值 使用mset的时候如果原本的数据已经存在 那么会覆盖原本的数据
获取多个值
获取所有值 包含获取所有的k - v
删除一个数据 删除一个key 对应的value也会被删除
127.0.0.1:6379> HGETALL myhash
1) "f1"
2) "hello"
3) "f2"
4) "world"
127.0.0.1:6379> HDEL myhash f2
(integer) 1
127.0.0.1:6379> HGETALL myhash
1) "f1"
2) "hello"
127.0.0.1:6379>
获取hash的长度
127.0.0.1:6379> HLEN myhash
(integer) 1
127.0.0.1:6379> HSET myhash f2 world
(integer) 1
127.0.0.1:6379> HLEN myhash
(integer) 2
127.0.0.1:6379>
判断某一个字段是否存在
127.0.0.1:6379> HEXISTS myhash f2
(integer) 1
127.0.0.1:6379> HEXISTS myhash f3
(integer) 0
127.0.0.1:6379>
获得所有的key
127.0.0.1:6379> HKEYS myhash
1) "f1"
2) "f2"
127.0.0.1:6379>
获得所有的value
127.0.0.1:6379> HVALS myhash
1) "hello"
2) "world"
127.0.0.1:6379>
设置自增和自减
127.0.0.1:6379> HSET myhash f3 1
(integer) 1
127.0.0.1:6379> HGET myhash f3
"1"
127.0.0.1:6379> HINCRBY myhash f3 1
(integer) 2
127.0.0.1:6379> HGET myhash f3
"2"
127.0.0.1:6379> HINCRBY myhash f3 2
(integer) 4
127.0.0.1:6379> HGET myhash f3
"4"
127.0.0.1:6379>
127.0.0.1:6379> HINCRBYFLOAT myhash f3 0.1
"4.1"
127.0.0.1:6379>
#####################
如果这个key不存在可以创建 存在就不创建
127.0.0.1:6379> HSETNX myhash f3 4.1
(integer) 0
127.0.0.1:6379>