python redis setnx与set区别
时间: 2023-11-10 18:20:31 浏览: 154
Python Redis中的setnx和set命令有以下区别:
1. 功能不同:set命令用于将字符串值关联到指定的键,如果键已经存在,则会覆盖旧值。而setnx命令只在键不存在时才会将值关联到键上,如果键已经存在,则不进行任何操作。
2. 返回值不同:set命令在设置成功时返回"OK",而setnx命令在设置成功时返回1,如果设置失败则返回0。
3. 用途不同:set命令主要用于设置键值对,可以用于缓存、存储用户登录状态等场景。而setnx命令通常用于实现分布式锁,可以用于多个服务同时调用一个方法时实现互斥效果。
总结起来,set命令是用于设置键值对的通用命令,而setnx命令是用于实现分布式锁等特殊场景的命令,只在键不存在时才会进行操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [使用redis的setnx实现分布式锁(python实现)](https://blog.csdn.net/qq_37253540/article/details/125575631)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *2* [python-redis-lock:通过redis SET NX EX和BLPOP实现的锁上下文管理器](https://download.csdn.net/download/weixin_42116734/18353999)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *3* [redis中set、setnx、setex区别_Allione_新浪博客](https://blog.csdn.net/dsydly/article/details/109659103)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"]
[ .reference_list ]
阅读全文