• redis:事务


    一.介绍

    redis事务就是一个命令执行的队列,将一系列预定义命令包装成一个整体(一个队列)。当执行时,一次性 按照添加顺序依次执行,中间不会被打断或者干扰。 

    二.基本操作

    开启事务:

    multi
    

    执行事务 

    exec
    

    取消事务 

    discard
    

    三.事务的注意事项

    1)如果定义的事务中所包含的命令存在语法错误,整体事务中所有命令均不会执行。包括那些语法正确的命令。

    2)定义事务的过程中,命令执行出现错误。能够正确运行的命令会执行,运行错误的命令不会被执行 

    四.锁

    对 key 添加监视锁,在执行exec前如果key发生了变化,终止事务执行 

    watch key1 [key2……]
    

    取消对所有 key 的监视 

    unwatch
    

    五.分布式锁

    使用 setnx 设置一个公共锁 

    setnx lock-key value 
    

    利用setnx命令的返回值特征,有值则返回设置失败,无值则返回设置成功

      对于返回设置成功的,拥有控制权,进行下一步的具体业务操作

      对于返回设置失败的,不具有控制权,排队或等待

    分布式锁改良

    使用 expire 为锁key添加时间限定,到时不释放,放弃锁

    expire lock-key second 
    pexpire lock-key milliseconds
  • 相关阅读:
    Ubuntu下RabbitMq 安装与运行
    web_api所需包
    Ubuntu16.04下安装python3.6.4详细步骤
    JavaScript
    css
    html
    MySQL
    day4 函数
    day3 字典,集合,文件
    day2
  • 原文地址:https://www.cnblogs.com/wwjj4811/p/12737723.html
Copyright © 2020-2023  润新知