当前位置 博文首页 > java_bird:REDIS事务控制

    java_bird:REDIS事务控制

    作者:[db:作者] 时间:2021-09-03 15:06

    有时候我们常常会遇到订阅与被订阅这种关系类型的业务处理,比如A订阅B,B被A订阅,每个人都可以查看自己订阅过XX,也可以查看自己被XX订阅过,但是这样涉及到一个同步的问题:redis中一般我们都是这样处理的,如A订阅B-->1.向A的订阅KEY中添加B;2.向B的被订阅KEY中添加A。如果1执行完而2由于某种原因执行失败,那么就会造成A能看到自己订阅了B,但是B看不到自己被A订阅了,如果用数据库来处理这样类型逻辑的话一般都是直接将此处业务加在事务控制里边即可,而REDIS也有这种事务机制。

    REDIS中的事务就是一组命令的集合,大家都知道REDIS中的命令是原子性的,而事务呢也可以理解为是原子性的,即:一个事务中的命令要么都被执行,要么都不执行。而REDIS中的事务使用方式为:MULTI命令通知REDIS事务开始了,将接下来接收到的命令暂存起来,接下来是各种redis命令输入,最后执行EXEC命令,这时之前的一系列命令都会被按照输入的顺执行,并按顺序返回执行结果。


    cs