Redis 事务常见命令怎样配合?
先说出你的答案
定义边界、关键机制、一个反例;P8题再补容量、失败与验证。
查看完整题解
参考回答
直接回答
用 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 题
和评分标准对照,你能独立回答到哪一步?
自评会安排下一次复习,不保存你的口述内容。
这道题,你掌握得怎么样?
掌握程度由你主动标记,阅读和收藏不会自动改变状态。