Redis 事务

redis 事务

Redis通过MULTI、EXEC、WATCH等命令来实现事务(transaction)功能。事务提供了一种将多个命令请求打包,然后一次性、按顺序地执行多个命令的机制,并且在事务执行期间,服务器不会中断事务而改去执行其他客户端的命令请求,它会将事务中的所有命令都执行完毕,然后才去处理其他客户端的,命令请求。

在传统的关系式数据库中,常常用ACID性质来检验事务功能的可靠性和安全性。在Redis中,事务总是具有原子性(Atomicity)、一致性(Consistency)和隔离性(lsolation),并且当Redis运行在某种特定的持久化模式下时,事务也具有持久性(Durability)。

redis 同一个事务中如果有一条命令执行失败,其后的命令仍然会被执行,没有回滚。
eg:
1、命令行错误的。会进行回滚。
Redis 事务
![在这里插入图片描述](https://img-blog.****img.cn/20200430181010561.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzIwNzk2MjM3,size_16,color_FFFFFF,t_70

2.语法错误的。后续命令会提交
Redis 事务