用户登录
用户注册

分享至

ssdb hset

  • 作者: 东土大唐高生
  • 来源: 51数据库
  • 2020-09-23
hexists只用来判断是否存在参数所指定的hash字段,只可以带一个参数,返回值只有1(存在)和0(不存在)两种情况。redis> HSET myhash field1 "foo"(integer) 1redis> HEXISTS myhash field1(integer) 1redis> HEXISTS myhash field2(integer) 0redis> exists用来判断key是否存在,只有1组参数时用法和hexists一样,时间复杂度也一样,所以效率没区别。Redis3.0.3之后支持多组参数,返回存在的key的数量。redis> SET key1 "Hello"OKredis> EXISTS key1(integer) 1redis> EXISTS nosuchkey(integer) 0redis> SET key2 "World"OKredis> EXISTS key1 key2 nosuchkey(integer) 2redis>



  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?。
软件
前端设计
程序设计
Java相关