MarlonDML
MarlonDML
[Redis-事务](https://github.com/Snailclimb/JavaGuide/blob/main/docs/database/redis/redis-questions-01.md#redis-%E4%BA%8B%E5%8A%A1)中提到 “[WATCH](https://redis.io/commands/watch) 命令用于监听指定的键,当调用 `EXEC` 命令执行事务时,如果一个被 `WATCH` 命令监视的键被修改的话,整个事务都不会执行,直接返回失败”。这个说法似乎不太准确,这里以下面 3 个demo进行说明。 1. 同一个session中,watch监视的key在multi之前被修改  根据测试结果可以得知,如果在 **MULTI** 之前被修改,那么这个事务不会被执行 2. 同一个session中,watch监视的key在事务内部被修改  根据测试结果可以得知,如果在 **MULTI** 之后被修改或者说在事务内部被修改,那么这个事务还是会执行成功 3. 同一个session中,watch监视的key在事务内部被修改,但是在事务提交之前被其他 session 修改  可以看出,场景一和场景三其实可以当成同一种情况;另外,**WATCH** 操作只是 session 级别的,不会影响其他...