hash(哈希)

发布时间 2023-08-27 13:39:35作者: AnJiaYu

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>