Redis的set命令是原子操作吗?
Is Redis' set command an atomic operation?
我正在尝试使用Redis的set
命令实现一个最简单的分布式锁组件,但是我通过官方文档找不到任何关于原子性的确切依据,是Redis的SET key value [EX seconds] [PX milliseconds] [NX|XX]
命令一个原子操作?
是的。核心是单线程的,所以 nothing 将 运行 直到 SET
完成;这使得 SET {key} {value} EX {expiry} NX
成为简单锁定的理想选择。
我正在尝试使用Redis的set
命令实现一个最简单的分布式锁组件,但是我通过官方文档找不到任何关于原子性的确切依据,是Redis的SET key value [EX seconds] [PX milliseconds] [NX|XX]
命令一个原子操作?
是的。核心是单线程的,所以 nothing 将 运行 直到 SET
完成;这使得 SET {key} {value} EX {expiry} NX
成为简单锁定的理想选择。