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

MUTI

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

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

EXEC

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

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

DISCARD

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

扫描二维码关注公众号,回复: 7898822 查看本文章

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

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

持久性:不支持

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

乐观锁:watch

  redis实现乐观锁机制

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

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

示例代码:

悲观锁:

  

猜你喜欢

转载自www.cnblogs.com/wjun0/p/11884240.html