zoukankan      html  css  js  c++  java
  • redis应用基于状态控制的批量任务执行

    1. 事务的基本操作

    • 开启事务
    multi
    
    • 作用

      设定事务的开启位置,此指令执行后,后续的所有指令均加入到事务中

    • 执行事务

    exec
    
    • 作用

      设定事务的结束位置,同时执行事务。与multi成对出现,成对使用


    注意:加入事务的命令暂时进入到任务队列中,并没有立即执行,只有执行exec命令才开始执行


    • 取消事务
    discard
    
    • 作用

      终止当前事务的定义,发生在multi之后,exec之前


    2. 事务的工作流程

    基于特定条件的事务执行---锁

    业务场景

    天猫双11热卖过程中,对已经售罄的货物追加补货,4个业务员都有权限进行补货。补货的操作可能是一系列的操作,牵扯到多个连续操作,如何保障不会重复操作?

    业务分析
    • 多个客户端有可能同时操作一组数据,并且该数据一旦被操作修改后,将不适用于继续操作
    • 在操作之前锁定要操作的数据,一旦发生变化,终止当前操作
    解决方案
    • 对key添加监视锁,在执行exec前如果key发生了变化,终止事务执行
    watch key1 [key2...]
    
    • 取消对所有key的监视
    unwatch
    

    Trips 18:

    • redis应用基于状态控制的批量任务执行
  • 相关阅读:
    Centos配置Apache phpadmin环境
    Linux添加FTP用户并设置权限
    Java中的过滤器
    【eclipse】注释模版
    [ci db操作]
    给vmware的Linux虚拟机添加硬盘
    基于LVDS/M-LVDS的数据通信
    如何找回丢失的硬盘分区表?
    vc++怎么可以直接刷掉MBR?搞笑的吧
    EFI、UEFI、MBR、GPT的区别
  • 原文地址:https://www.cnblogs.com/ifme/p/12322629.html
Copyright © 2011-2022 走看看