Java 后端面试题库 / 全部题解免费阅读理解原理,有条理地回答

Redis 的 WATCH 怎样实现乐观更新?

查看完整题解

参考回答

直接回答

WATCH 记录要观察的键。读到旧值并算出新值后,把写命令加入事务。如果从 WATCH 到 EXEC 之间键变化,EXEC 会放弃执行,客户端重读并有限重试。

讲清原理

乐观是先假设冲突较少,冲突发生时重算。键到期和淘汰也可能影响监视。连接换了,原连接上的 WATCH 状态就用不上。

例子与易错点

单个计数用 INCR 更直接。需要基于多字段作判断时,WATCH 或短 Lua 脚本都可以评估。

相关题 · 第 52 题、第 55 题

这道题,你掌握得怎么样?

掌握程度由你主动标记,阅读和收藏不会自动改变状态。