zoukankan      html  css  js  c++  java
  • Redis09——事务(悲观锁、乐观锁)

    事务

    定义:      

      Redis事务是一个单独的隔离操作

        ①事务中所有的命令都会被序列化、按照顺序执行

        ②事务在执行过程中不会被其他客户端发送来的命令请求打断

    作用:

      串联多个命令防止别的命令插队

    • multi:输入开始命令
    • exec:执行命令
    • discard:放弃组队(删除掉)

       

    敲小黑板啦:

     如果在组队中出现了报告错误,执行时整个队列都会被取消掉

      

     如果在执行阶段某个命令出现错误,只有报错的命令不会被执行,其他的命令照常执行,不会回滚

      

     悲观锁:

      每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁

      这样别人想拿这个数据就会block(阻塞)直到他拿到锁

      传统的关系型数据库里面就是用到了很多这样的锁机制

      (行锁、表锁、读锁、写锁都是在操作之前先上锁)

     乐观锁:

      每次去拿数据的时候都认为别人不会修改,所以不会上锁

      但是在更新的时候会判断一下在此期间别人会不会更新这个数据,可以用版本号等机制

      乐观锁适用于多读的应用类型提高吞吐量

      Redis就是利用这种check-and-set机制实现事务的

  • 相关阅读:
    RTC是DS1339,驱动采用的是rtc-ds1307.c
    hi3515 rtc驱动(ds1307/1339)驱动和示例
    qt5.4.1的imx6编译
    Python实现ID3(信息增益)
    Python实现nb(朴素贝叶斯)
    Python实现kNN(k邻近算法)
    Android实现地图服务
    Android实现传感器应用及位置服务
    Android实现KSOAP2访问WebService
    Android实现网络访问
  • 原文地址:https://www.cnblogs.com/zly123/p/11733376.html
Copyright © 2011-2022 走看看