redis 事务(悲观锁和乐观锁)

MUTI

  开启事务,后续的命令会被加入到同一个事务中

  事务中的操作会发送给客服端,但是不会立即执行,而是将操作放到了该事务对应的一个队列中,服务端返回QUEQUD

 

EXEC

  执行EXEC后,事务中的命令才会执行

  事务中的命令出错时,不会回滚也不会停止,而是继续执行下一步操作

 

DISCARD

  取消事务,事务队列会被清空

 

原子性:不支持,不会回滚,

隔离性:支持,事务中的命令顺序,不会被打断

持久性:不支持

一致性:不支持,要求通过乐观锁watch来实现

 

乐观锁:watch

  redis实现乐观锁机制

  机制:开启事务前,设置对数据的监听,EXEXC时,如果发生数据发生过修改,事务会自动取消(DISCARD)

  事务EXEC后,无论成败,监听会被移除

示例代码:

 

悲观锁:

  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

上一篇:寒假06,读后感第二篇


下一篇:LeetCode Algorithm 剑指 Offer 06. 从尾到头打印链表