java事务/springboot事务/redis事务
java事务(数据库事务):jdbc事务--ACID
springboot事务:@Transactional--ACID
redis事务:命令集合
将redis事务与mysql事务对比:
Mysql |
Redis |
|
开启 |
start transaction |
multi |
语句 |
普通sql |
普通命令 |
失败 |
rollback 回滚 |
discard 取消 |
成功 |
commit |
exec |
mysql的rollback与redis的discard的区别:
mysql回滚为sql全部成功才执行,一条sql失败则全部失败,执行rollback后所有语句造成的影响消失
redis的discard只是结束本次事务,正确命令造成的影响仍然还在(不是原子性).