【问题标题】:Redis INCR and multi processes?Redis INCR和多进程?
【发布时间】:2014-10-18 23:43:22
【问题描述】:

我曾经使用 PostgreSQL 序列 SELECT nextval('number'); 来确保即使有多个客户端也能获得一个新号码,因为 nextval 保证返回不同且递增的值。

我想在 Redis 中使用相同的机制。 我想使用INCR 命令,但我想确保我完全理解它会提供与nextval 命令相同的保证? 当多个进程运行此命令或我必须使用 Redis 锁时,没有获得相同数字的风险?

谢谢

【问题讨论】:

标签: redis


【解决方案1】:

Redis 是单线程引擎,所以所有命令的执行都是序列化的。它始终为每个单独的命令提供原子性和隔离性(在 ACID 的意义上)。

结果是应用单个 INCR 命令并利用其结果是安全的(即使多个连接同时执行)。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-07-02
  • 1970-01-01
  • 2014-01-10
  • 1970-01-01
  • 2021-02-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多