redis hset 和hsetnx 的区别是什么

 我来答
lyz810
2015-08-26 · 知道合伙人互联网行家
lyz810
知道合伙人互联网行家
采纳数:7531 获赞数:31779
前端开发工程师

向TA提问 私信TA
展开全部
  1. 命令参数:
    HSET key field value
    HSETNX key field value

  2. 作用区别:
    HSET 将哈希表 key 中的域 field 的值设为 value 。如果 key 不存在,一个新的哈希表被创建并进行 HSET 操作。如果域 field 已经存在于哈希表中,旧值将被覆盖。

    HSETNX 将哈希表 key 中的域 field 的值设置为 value ,当且仅当域 field 不存在。若域 field 已经存在,该操作无效。

    如果 key 不存在,一个新哈希表被创建并执行 HSETNX 命令。

  3. 返回值区别:
    HSET:如果 field 是哈希表中的一个新建域,并且值设置成功,返回 1 。如果哈希表中域 field 已经存在且旧值已被新值覆盖,返回 0 。
    HSETNX:设置成功,返回 1 。如果给定域已经存在且没有操作被执行,返回 0 。

嘟爷他巴
2014-07-16 · TA获得超过267个赞
知道小有建树答主
回答量:119
采纳率:0%
帮助的人:177万
展开全部
hset hash_key field_name field_value

 设置 hash 类型中的属性(字段)值

返回1,表示 新的属性 field_name <=> field_value 被添加到 hash_key 的hash中;

返回0,表示 旧的属性 field_name 已经存在,且值被更新为 field_value。

hsetnx hash_key field_name field_value

返回1,表示 新的属性 field_name <=> field_value 被添加到 hash_key 的hash中;

返回0,表示 属性 field_name 已经存在,不作任何操作

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式