Redis的事务
Redis的事务
Redis的事务
Redis事务天然具有隔离性
Redis事务时单进程程序,并且他保证在执行事务时,不会对事务进行中断,事务可以运行知道执行完所有事务队列中的命令为止。因此,Redis的事务是总是带有隔离性的。
Redis事务保证原子性吗,支持回滚吗
Redis中,单条命令是原子执行的,但事务不保证原子性,且没有回滚。事务中任意命令执行失败,其余命令仍会被执行。
Redis事务其他实现
- 基于Lua脚本,Redis可以保证脚本内的命令一次性、按顺序地执行,同时也不提供事务运行错误地回滚,执行过程中如果部分命令运行错误,剩下的命令还是会继续执行完。
- 基于中间标记变量,通过另外的标记变量来标识事务是否执行完成,读取数据时先读取该标记变量判断事务是否执行完成。但是这样需要额外的编码实现,比较繁琐
本文由作者按照 CC BY 4.0 进行授权