Redis基本数据类型哈希Hash常用操作命令
Redis数据类型Hash常用操作
redis里的hash是一个string类型的field(字段)和value(值)的映射表。特别适合用于存储对象,每个hash可以存储40多亿键值对。
熟悉python的童鞋可以想象成字典dict。之前的数据类型存储都是k-v这样,而hash的存储就是k-dict
,dict
里又会有属于自己的k-v
。
一、hset
为哈希表中的字段赋值,如果哈希表不存在,创建一个新的哈希表被并进行hset操作。
如果字段已经存在于哈希表中,旧值将被覆盖。
二、hget
返回哈希表中指定字段的值,如果给定的字段或 key 不存在时,返回 nil。
三、hmset
同时将多个 field-value 对设置到哈希表中。
如果哈希表中已存在的字段,则覆盖。
如果哈希表不存在,会创建一个空哈希表,并执行hset操作。
四、hmget
返回哈希表中,一个或多个给定字段的值。
如果指定的字段不存在于哈希表,那么返回一个nil值。
五、hgetall
返回哈希表中,所有的字段和值。
注意,在返回值里,紧跟每个字段名(field name)之后是字段的值(value),所以返回值的长度是哈希表大小的两倍。
六、hdel
删除哈希表 key 中的一个或多个指定字段,不存在的字段将被忽略。
返回的是被成功删除字段的数量,不包括被忽略的字段。
七、hlen
获取哈希表中字段的数量。
八、hexists
查看哈希表的指定字段是否存在。
如果哈希表含有给定字段,返回 1。
如果哈希表不含有给定字段,或 key 不存在,返回 0 。
九、hkeys
获取哈希表中的所有字段(field)。
包含哈希表中所有字段(field)列表。 当 key 不存在时,返回一个空列表。
十、hvals
返回哈希表所有字段(field)的值。
返回一个包含哈希表中所有字段(field)值的列表。 当 key 不存在时,返回一个空表。
十一、hincrby
为哈希表中的字段值加上指定增量值,这个增量也可以是负数,相当于减法。
若哈希表的 key 不存在,创建一个新的哈希表被并执行hincrby
命令。
若指定的字段不存在,那么在执行命令前,字段的值被初始化为 0 。
若对储存字符串值的字段执行,会报错。
十二、hsetnx
为哈希表中不存在的的字段赋值。
若哈希表不存在,创建新的哈希表并进行 hset 操作。
如果字段已经存在于哈希表中,操作无效。
如果key不存在,创建新哈希表并执行hsetnx
命令。
关于redis中hash的应用,比如保存用户信息数据、经常变动的信息,如果不想使用传统的k-v对象去存储,可以用redis的hash。
本篇文章到此结束,如果您有相关技术方面疑问可以联系我们技术人员远程解决,感谢大家支持本站!