「这是我参与2022首次更文挑战的第7天,活动详情查看:2022首次更文挑战」
Redis的Hash操作
Hash(哈希)
这个值是一个map集合!和String类型没有太大的区别,是一个简单的 key-value!
1、创建Hash键值对key-value:HSET Hashname key value
2、创建Hash键值对key-value:HSETNX Hashname key value
- 说明:若不存在则添加成功,若存在则添加失败。
3、获取Hash集合指定键值对的值:HGET HashName key
4、批量创建Hash键值对:HSET HashName key1 value1 key2 value2
- 说明:若key存在则覆盖,若不存在则创建。
5、查看Hash集合所有的键值对:HGETALL hashname
6、删除Hash集合中指定键值对:HDEL HashName key
7、获取Hash集合的长度:HLEN HashName
8、设置Hash集合中键值对的数值自增:HINCRBY HashName key 自增量
9、使用Hash键值对设置对象:HMSET 对象名 key value
10、查看对象属性:HGET 对象名 属性名
基本命令操作实例:
127.0.0.1:6379> HSET myhash field1 xuyang #创建hash键值对field1-xuyang
(integer) 1
127.0.0.1:6379> HGET myhash field1 #获取hash键值对field1的值
"xuyang"
127.0.0.1:6379> HSET myhash field1 hello field2 world #批量创建hash键值对field1:hello,field2:world
(integer) 1
127.0.0.1:6379> HMGET myhash field1 field2 #批量获取指定键值对的值
1) "hello"
2) "world"
127.0.0.1:6379> HGETALL myhash #查看hash集合所有的键值对
1) "field1"
2) "hello"
3) "field2"
4) "world"
127.0.0.1:6379> HDEL myhash field1 #删除myhash中的field1键值对
(integer) 1
127.0.0.1:6379> HGETALL myhash
1) "field2"
2) "world"
127.0.0.1:6379> HLEN myhash
(integer) 1
127.0.0.1:6379> HSET myhash field3 5 #设置myhash中的field3的值为5
(integer) 1
127.0.0.1:6379> HINCRBY myhash field3 1 #设置myhash中的field3的数值自增
(integer) 6
127.0.0.1:6379> HINCRBY myhash field3 -1
(integer) 6
127.0.0.1:6379> HSETNX myhash field4 hello #创建myhash中的键值对field4的值为hello,若不存在则添加成功,若存在则添加失败
(integer) 1
127.0.0.1:6379> HSETNX myhash field4 world
(integer) 0
127.0.0.1:6379> hmset user:1 name xuyang #设置id为1的user对象的name是xuyang
OK
127.0.0.1:6379> HGET user:1 name #获取id为1的user对象的name属性值
"xuyang"
Hash适合对用户信息之类的进行操作,经常变动的信息!
Hash更适合于对象的存储,String更加适合字符串存储!
明天继续加油!