在学习 redis,突然发现有个疑问,先引用网上的一句话:
单个 Redis 命令的执行是原子性的,但 Redis 没有在事务上增加任何维持原子性的机制,所以 Redis 事务的执行并不是原子性的。
假设我先在 session-1 里执行:
1 、WATCH name
2 、MULTI
3 、set name java
然后,我再去到 session-2 里执行:
1 、set name golang
再回到 session-1 里执行
4 、exec
此时,session-1 返回(nil),说明事务回滚,那不就说明事务也保持了原子性吗?
那为什么都说 redis 不具备原子性?谢谢各位大佬解答