irpas技术客

Redis 哈希(Hash)_文丑颜不良啊_redis的hash

未知 7731

Redis Hash 是一个 String 类型的 field(域)和 value(值)的映射表,Hash 特别适合存储对象。Redis 中每个 Hash 可以存储 2^32-1 个键值对。

我们已经知道,Redis 中存储的都是 key-value 结构的数据,那么 Hash 类型的数据存储结构就应该是如下图所示:

field 和 value 共同组成了 key 所对应的 value。

Redis Hash 基本命令如下:

Redis Hash 基本命令 命令说明返回值示例HMSET key field1 value1 [field2 value2 ...]用于同时将多个 field-value 对设置到哈希表中,此命令会覆盖哈希表中已存在的 key 值,如果 key 值不存在,会先创建,之后再执行 HMSET 操作成功返回 OKHSET key field value用于为哈希表中的单个 field-value 设置值,如果 key 值不存在,会先创建,如果该 field 域已存在,则将覆盖旧值如果 field 是新创建的,返回 1, 如果 field 已存在, 返回 0HSETNX key field value用于为哈希表中不存在的 field 赋值,如果该 field 已存在,则操作无效,如果 key 不存在,则创建并执行成功,返回1,如果 field 已经存在且没有操作被执行,返回0HEXISTS key field用于查看哈希表的指定域是否存在如果有指定域,则返回1,如果没有该域,或者 key 不存在,则返回0HGET key field用于获取哈希表中指定域的值返回指定字段的值,如果指定的字段或者 key 不存在时,返回 nilHGETALL key用于返回哈希表中所有的字段和值以列表形式返回哈希表中的字段以及字段值,如果 key 不存在,则返回空列表HMGET key field1 [field2 ...]用于返回哈希表中一个或多个指定字段对应的值,如果指定的字段不存在于哈希表中,则返回 nil一个包含多个指定字段关联值的表,表值的排列顺序和指定字段的请求顺序一样HKEYS key用于获取哈希表中的所有的域(field)包含哈希表中所有域的列表,如果 key 不存在,则返回一个空列表HVALS key获取哈希表中所有的值,即所有的 field 对应的 value包含哈希表中所有值的列表,如果 key 不存在,则返回一个空列表HLEN key获取哈希表中字段(field)的数量返回哈希表中字段的数量,当 key 不存在时,返回0HINCRBY key field increment用于为哈希表中的字段加上指定增量值,增量值也可为负。如果指定的字段不存在,会先初始化为0,如果该字段对应的 value 值存储的为字符串值,那么该命令会执行出错执行该命令之后,哈希表中字段对应的值HINCRBYFLOAT key field increment用于为哈希表中的字段加上指定的浮点数增量值,增量值也可为负。如果指定的字段不存在,会先初始化为0,如果该字段对应的 value 值存储的为字符串值,那么该命令会执行出错执行该命令之后,哈希表中字段对应的值HSCAN key cursor [MATCH pattern] [COUNT count]用于迭代哈希表中的 field-value 对 cursor:游标; pattern:匹配的模式; count:指定从数据里返回的数据量,默认值为 10返回的每个元素都是一个元组,每一个元组元素由一个字段(field)和值(value)组成HDEL key field1 [field2 ...]用于删除哈希表 key 中的一个或多个字段(field),如果指定的 field 不存在,则忽略返回成功删除字段的数量,不包括被忽略的字段

以上便是 Redis Hash 常用的命令,后续有用到其他的命令的话,会继续更新的。


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #redis的hash #redis #hash #是一个 #string #类型的 #field域和 #value值的映射表Hash