美文网首页
redis学习之神奇的事务

redis学习之神奇的事务

作者: 蒿子杆 | 来源:发表于2016-12-26 23:37 被阅读0次

直入主题,我们在使用关系型数据库的时候基本上都会接触到事务处理,就是逻辑上的一组操作,组成这组操作的各个单元,要不全都成功要不全都失败,这就是关系行数据库的事务。

事务是一个单独的隔离操作:事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中,不会被其他客户端发送来的命令请求所打断。

redis的事务截然不同,它相对关系型数据库来说比较简单,它只能保证一个client发起的事务中的命令可以连续的执行,而中间不会插入其他client的命令。使用redis事务时,客户端会发送MULTI命令开始一个事务,随后客户端发送的命令会放到一个队列中, 等最后客户端发送EXEC命令触发事务, 一并执行事务中的所有命令。

可以看到,执行完set完命令之后,反馈信息是QUEUED,最后再执行exec,这些命令才会真正的执行

事务是一个原子操作:事务中的命令要么全部被执行,要么全部都不执行。

虽说命令一定会被执行,但是成功还是失败又是另一回事了哈哈哈,下图举例:

嗯,没什么好说的,就是这样的,redsi事务也没有rollback,铭记。


最后这个厉害了啊。

WATCH

WATCH key [key ...]

监视一个(或多个) key ,如果在事务执行之前这个(或这些) key 被其他命令所改动,那么事务将被打断。

上面就是redis手册中关于watch的解释,使用起来貌似很简单,就是我在multi之前,用watch去监视我要修改的key,如果说我在exec之前,

multi之后的这段时间,key被其他client修改,那么exec就会执行失败,返回(nil)

下图举例:

嗯,不管怎么样这个技能我是get到了。


哦忘了介绍命令:

最后说一句,夏天这个东西很快就来了减肥的要马甲线的抓紧了。

redis学习之神奇的事务

相关文章

  • Redis事务

    转载自Redis之Redis事务 Redis事务的概念: Redis 事务的本质是一组命令的集合。事务支持一次执行...

  • redis学习之神奇的事务

    直入主题,我们在使用关系型数据库的时候基本上都会接触到事务处理,就是逻辑上的一组操作,组成这组操作的各个单元,要不...

  • Redis学习笔记:事务

    Redis学习笔记:事务 原文链接:Redis学习笔记:事务 一、事务的描述 和MySQL一样,Redis中也有事...

  • 【Redis 系列】redis 学习六,redis 事务处理和监

    【Redis 系列】redis 学习六,redis 事务处理和监控事务 写在前面 我们学过的事务都是保证原子性的,...

  • Redis学习笔记之Redis事务

    Redis事务四大命令:EXEC,MULTI,WATCH,DISCARD MULTI:开启事务状态 EXEC:事务...

  • Redis学习笔记---进阶篇

    Redis学习笔记—进阶篇 一、事务 1.MULTI命令 Redis中的事务(transaction)是一组命令的...

  • redis系列(十):事务

    redis有事务么? redis官方说是有事务的。但这个事务不是我们普遍理解的mysql事务。 redis的事务不...

  • 九、Redis 事务

    Redis 事务 Redis事务描述: Redis事务允许在单个步骤中执行一组命令。以下是Redis事务的两个属性...

  • Redis事务

    redis事务机制 Redis事务与传统关系型事务的比较

  • redis中的事物、消息订阅、持久化

    Redis 中的事务 Redis支持简单的事务 Redis与 mysql事务的对比 注: rollback与dis...

网友评论

      本文标题:redis学习之神奇的事务

      本文链接:https://www.haomeiwen.com/subject/ykdsvttx.html