码迷,mamicode.com
首页 > 其他好文 > 详细

Redis事物特点和持久化方式

时间:2018-11-11 15:53:11      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:sof   span   因此   family   持久   两种   redis   执行命令   acid   

Redis的事物不支持完整的ACID,Redis虽然提供事物功能,但是Redis的事物和关系数据库事务不可同日而语,Redis的事物只能保证隔离性和一致性(I和C),无法保证原子性和持久性(A和D),具体实现原理如下:

  • 原子性  

       Redis事物不支持原子性,Redis不支持回滚操作,事物中间一条命令执行失败,既不会导致前面已经执行的命令回滚,也不会中断后面的命令的执行。

  • 一致性

       Redis事物能够保证事物开始之前和事物结束以后,数据库的完整性没有被破坏

  • 隔离性

      Redis不存在多个事物的问题,因为Redis是单进程单线程的工作模式,这种隔离性的方式也带来了一个隐含的问题,如果某个客户端通过事物提交了大量的命令,那么阻塞其他客户端进行任何操作

  • 持久性

       Redis提供了两种持久化的方式,即RDB和AOF

       RDB 持久化只备份当前内存中的数据集,事物执行完毕时,其数据还在内存中,并未立即写入磁盘,所以RDB 持久化不能保证Redis事物的持久性

       AOF持久化是先执行命令,执行成功后再将命令追加到日志文件中,即使AOF每次执行命令后立刻将日志文件刷盘,也可能丢失1条命令数据,因此AOF也不能严格保证Redis事物的持久性

Redis事物特点和持久化方式

标签:sof   span   因此   family   持久   两种   redis   执行命令   acid   

原文地址:https://www.cnblogs.com/anqli-java/p/9942163.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!