正是因为 Redis 事务不支持事务回滚机制,如果事务执行中出现了命令执行错误(例如对 String 类型的数据库键执行 LPUSH 操作),只会返回当前命令执行的错误给客户端,并不会影响下面的命令的执行。所以很多人觉得和关系型数据库(MySQL) 不一样,而 MySQL 的事务是具有原子性的,所以大家都认为 Redis 事务不支持原子性。
2、但是其实 Redis 意义上是支持原子性的。
正常��况下,它也是要不所有命令执行成功,要不一个命令都不执行。
我们下面演示一下:
全部执行成功的:
一个都不执行: