学习Redis,day7 Redis的Hash操作~

164 阅读2分钟

「这是我参与2022首次更文挑战的第7天,活动详情查看:2022首次更文挑战

Redis的Hash操作

Hash(哈希)

这个值是一个map集合!和String类型没有太大的区别,是一个简单的 key-value!

1、创建Hash键值对key-valueHSET Hashname key value

2、创建Hash键值对key-valueHSETNX 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更加适合字符串存储!

明天继续加油!