Redis的事务

Redis的事务:

  (1)开启事务:multi

  (2)命令入队:……

  (3)执行事务:Exec

  (4)放弃事务:DISCARD,队列中命令都不会执行 

Redis的事务本质:

  (1)是一组命令的集合,一个事务中所有的命令都会被序列化,执行的时候按照顺序执行;

  (2)redis事务具有一次性、顺序性、排它性;

  (3)Redis的事务没有隔离级别的概念,所有的命令在事务中并没有直接执行,只有发起执行命令的时候才会执行(Exec)

Redis事务异常:

  (1)命令异常:事务队列中如果有命令异常项,那么整个事务都不会执行;、

  (2)运行时异常:事务跳过异常项,继续执行。如:执行队列中有一项为字符串值加1;

Redis的监控:

  在多线程操作中,redis提供了watch命令可以实现乐观锁操作。使用unwatch解锁。可以实现秒杀业务场景。

  案例:A线程事务中需要修改值C的value,B线程事务中也需要修改值C的value,且B线程对C的value进行了watch监控,如果A线程事务先开始Exec,那么B线程对C的修改将无效。

posted @ 2020-04-28 10:22  小小吸血鬼  阅读(101)  评论(0编辑  收藏  举报