• redis--->事务


    事务

    redis单条命令是保证原子性的,但是redis事务是不保证原子性的

    redis事物本质:是一组命令的集合!一个事务的所有命令都要被序列化,在事务执行过程中,会按照顺序执行!

    一次性,顺序性,排他性(不允许被干扰),执行一系列的命令

    redis事务没有隔离级别的概念

    所有命令在事务中并没有直接被执行,只有发起执行命令的时候才会执行!Exec

    redis事务:

    开启事务(multi)

    命令入队(........)

    执行事务(exec)

    放弃事务(discard)

    编译型异常:(命令有错,代码有问题)事务中所有命令都不会被执行

    运行时异常:其他命令可以正常执行,错误命令抛出异常

    任务队列中有的人错了,依旧可以执行

    redis不保证原子性

    监控!watch

    悲观锁:

    • 无论做什么都会加锁

    乐观锁:

    • 所以不会加锁,判断一下在此期间是否有人修改
    • 获取version
    • 更新的时候比较version

    例:watch   money

    另外一个线程去修改我们的值,这个时候就会导致事务执行失败

    unwatch       解锁

    watch   money      重新加锁

    如果失败重新获取锁

  • 相关阅读:
    Android兼容性测试CTS
    Tkinter
    初探socket
    性能监控2
    HTTP
    python实现接口自动化1
    pip安装超时问题
    一行 Python
    Python 面向对象进阶
    Python 面向对象编程基础
  • 原文地址:https://www.cnblogs.com/springxian/p/14459949.html
Copyright © 2020-2023  润新知