美文网首页
Redis 事务

Redis 事务

作者: packet | 来源:发表于2018-07-20 19:29 被阅读0次

事务从开始到结束,分为三个阶段:

1)事务开始

2)命令入队

3)事务执行(或者放弃)

相关命令:multi,exec,discard,watch。

multi命令将从非实物状态切换为事务状态。

watch是一个乐观锁。在exec执行之前,可利用watch监视一些任意数量的key,如果在事务前,发现至少一个key发生了修改,那么将拒绝执行此事务。

从事务的几个特点论述:

1)原子性:将多个事务当作一个整体,要么都做,要么都不做。

redis不支持回滚(与关系型数据库最大的不同),即使队列中某个命令出现错误(比如某个命令的参数错误),也会继续执行,这样执行后的结果是一些命令成功了,一些命令失败了。

2)一致性:执行事务前数据库是一致的,执行之后,无论成败,数据库也是一致的。

一致性描述了数据符合数据库本身的定义和需求,没有包含非法或者无效的错误数据。

3)隔离性:数据库中有多个事务并发执行时,事务之间不会互相影响,并且在并发状态下执行的事务与串行执行的事务产生的结果完全相同。

Redis是单线程,而且事务不会中断。因此,事务总是以串行的方式运行,所以具有隔离性。

4)持久性:当一个事物执行完毕时,执行事务所得到的结果将保存到永久性存储介质中,即使服务器在事务执行完毕后停机,执行事务所得到结果不会丢失。

Redis的事务持久化由持久化模式决定。

当服务器在AOF模式下,且appendsync选项的值为always的时候,程序总是在执行命令之后调用同步函数(sync),将命令数据真正地保存到硬盘里。这种配置下的事务满足持久性,其他场景不满足。

相关文章

  • redis系列(十):事务

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

  • 九、Redis 事务

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

  • Redis事务

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

  • Redis事务

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

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

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

  • Redis简单操作记录

    Redis事务 1.Redis事务本质:一组命令的集合,加入队列,然后执行,执行完事务结束。 redis事务: ①...

  • JavaGuide知识点整理——Redis面试题总结(下)

    Redis事务 如何使用Redis事务? Redis可以通过multi,exec,discard和watch等命令...

  • redis 常用指令

    Redis 的事务 Redis 的事务处理与 RDBMS 的事务有一些不同。首先 Redis 不支持事务的回滚机制...

  • Redis学习笔记:事务

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

  • 事务

    简介 MULTI、EXEC、DISCARD、WATCH是redis事务的基础。事务特征如下: redis事务允许将...

网友评论

      本文标题:Redis 事务

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