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?。
热门文章更多>>
标签更多>>
专题更多>>
最新文章更多>>
- iOS 14/iPadOS 14开发者预览版Beta8升级方法及更新内容
- 质因数分解板子
- 简介iOS开发中应用SQLite的模糊查询和常用函数
- 约瑟夫优化
- iOS/iPadOS 14.2Beta 1怎么升级?iOS/iPadOS 14.2开发者预览版Beta 1升级方法
- iOS13.7还能降级吗 iOS13.6.1已关闭验证
- iOS14提醒事项App有哪些改动 iOS14提醒事项功能介绍
- iOS14如何修改小组件 小组件添加和删除方法
- 苹果 iOS 14 Beta 7怎么样 苹果iOS14开发者预览版Beta7更新内容
- iOS/iPadOS 14 Beta 7值得升级吗?iOS/iPadOS 14 Beta 7更新介绍
东土大唐高生