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

Redis 事务常见命令怎样配合?

查看完整题解

参考回答

直接回答

用 WATCH 盯住要参与判断的键,读出当前值,再 MULTI 排队写命令,最后 EXEC。DISCARD 放弃已排队命令,UNWATCH 取消监视。

讲清原理

如果被监视键在 EXEC 前发生变化,提交会被拒绝,应用重新读值并判断。连接从 WATCH 到 EXEC 要保持一致。

例子与易错点

做条件扣款时如果 WATCH 冲突,可以有限重试。单键原子计数可直接用 INCR,没必要先读再改。

没有其他客户端修改被监视键时,这次事务会提交。

SET q19:count 1
WATCH q19:count
MULTI
INCR q19:count
EXEC
GET q19:count

相关题 · 第 18 题、第 52 题

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

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