spa*_*man 3 concurrency block blocking redis
我正在使用Redis' INCR为对象生成ID.然后使用ZADDID作为键添加对象.
INCR
ZADD
我是否需要担心是否有多个连接执行同一个代码块?说后id:12,如果两个连接在同一时间连接,并添加都使用对象id:13,然后其中一人将失去.
id:12
id:13
Jon*_*org 9
由于redis是单线程的,因此永远不会发生这种情况 - 一次只有一个客户端可以对数据库进行更改.
Eli*_*Eli 7
正如 Jonatan Hedborg 所说,Redis 是单线程的,所以你永远不需要担心两个客户端同时做某事。另一方面,如果您担心要按顺序运行 INCR 和 ZADD 命令,并希望确保在它们之间没有运行其他命令,则可以使用事务,并确保您的命令作为单个单元,中间没有任何内容。
归档时间:
12 年,11 月 前
查看次数:
1325 次
最近记录:
10 年,10 月 前