Redis事物特点和持久化方式

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事物的持久性

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

时间: 2024-10-11 20:14:51

Redis事物特点和持久化方式的相关文章

redis 五大类型 、持久化方式以及主从(哨兵模式)

一.redis 五大类型: redis 键 keys * exists key的名字,判断某个key 是否存在 move key db 当前数据库就没有了,被移除了 ttl key 查看还有多少秒过期,-1表示永不过期,-2表示已过期 type key 看看你的key是什么类型redis 字符串 set.get .del.append.strlen incr.decr .incrby. decrby getrange.setrange setex(set with expire)键秒值.setn

[转载] redis 的两种持久化方式及原理

转载自http://www.m690.com/archives/371 Redis是一种高级key-value数据库.它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富.有字符串,链表,集 合和有序集合.支持在服务器端计算集合的并,交和补集(difference)等,还支持多种排序功能.所以Redis也可以被看成是一个数据结构服务器.Redis的所有数据都是保存在内存中,然后不定期的通过异步方式保存到磁盘上(这称为“半持久化模式”):也可以把每一次数据变化都写入到一个app

Redis的两种持久化方式详细介绍

一,Redis是一款基于内存的数据库,可以持久化,在企业中常用于缓存,相信大家都比较熟悉Redis了,下面主要分享下关于Redis持久化的两种模式 1.半持久化模式(RDB,filesnapshotting) 此模式是Redis默认的备份方式,通过快照方式,将数据从内存写入磁盘中,如果Redis异常退出,下次启动则从打快照的这个时间节点来恢复此之前的数据,根据数据量大小.结构.服务器性能不同,通常将记录1千万个string类主键.大小为1GB的快照文件载入内存中需要20~30s 触发快照参数在配

redis的持久化方式

redis有两种持久化方式,第一种是基于快照的持久化方式,第二种是基于文件追加的持久化方式 一.基于快照的持久化 1.修改redis.conf配置文件,开启基于快照的持久化方式 2.修改持久化文件存放的位置 3.重启服务,测试 二.基于文件追加的持久化方式 1.修改redis.conf配置文件,开启基于文件追加的持久化方式 2.修改备份的周期 3.重启服务,测试 杀掉redis服务,模拟断电效果,然后重启redis服务,获取之前保存的数据,也可以获取到

redis持久化方式与优缺点

Redis是一个支持持久化的内存数据库,也就是说redis需要经常将内存中的数据同步到磁盘来保证持久化.redis支持四种持久化方式,一是 Snapshotting(快照)也是默认方式:二是Append-only file(缩写aof)的方式:三是虚拟内存方式:四是diskstore方式.下面分别介绍之. (一)Snapshotting 快照是默认的持久化方式.这种方式是就是将内存中数据以快照的方式写入到二进制文件中,默认的文件名为dump.rdb.可以通过配置设置自动做快照持久化的方式.我们可

一文带你深入了解 Redis 的持久化方式及其原理

Redis 提供了两种持久化方式,一种是基于快照形式的 RDB,另一种是基于日志形式的 AOF,每种方式都有自己的优缺点,本文将介绍 Redis 这两种持久化方式,希望阅读本文后你对 Redis 的这两种持久化方式有更加全面.清晰的认识. RDB 快照方式持久化 先从 RDB 快照方式聊起,RDB 是 Redis 默认开启的持久化方式,并不需要我们单独开启,先来看看跟 RDB 相关的配置信息: ################################ SNAPSHOTTING #####

探究Redis两种持久化方式下的数据恢复

对长期奋战在一线的后端开发人员来说,都知道redis有两种持久化方式RDB和AOF,虽说大家都知道这两种方式大概运作方式,但想必有实操了解得不会太多. 这里是自己实操两种持久化方式的一点点记录. 先看以下摘录自redis官网原文解释(当然原文是English,这里用google翻译过了.) Redis持久性 Redis提供了不同的持久性选项范围: RDB持久性按指定的时间间隔执行数据集的时间点快照. AOF持久性会记录服务器接收的每个写入操作,这些操作将在服务器启动时再次播放,以重建原始数据集.

redis内存优化、持久化以及主从复制

Redis 数据库内存优化参数的配置,每种持久化方式的利与弊以及主从复制的原理以及配置 一.常用内存优化手段与参数 redis的性能如何是完全依赖于内存的,所以我们需要知道如何来控制和节省内存. 首先最重要的一点是不要开启Redis的VM选项,即虚拟内存功能,这个本来是作为Redis存储超出物理内存数据的一种数据在内存与磁盘换入换出的一个持久化策略,但是其内存管理成本非常的高,所以要关闭VM功能,请检查你的redis.conf文件中 vm-enabled 为 no. 其次最好设置下redis.c

八、Redis 基础命令---管理--持久化--RDB

1.Redis 支持两种方式的持久化,一种是RDB , 一种是AOF .可用单独使用也可以二者结合使用. 2.RDB A.RDB方式是Redis默认采用的持久化方式,通过快照(snapshotting)完成的.当符合一定条件时Redis会自动将内存中的所有数据进行快照并存储在整个硬盘上.进行快照的条件:时间和改动的键的个数.当在指定的时间内被更改的键的个数大于指定的数值时就会进行快照. B.配置文件中已经预先设置了3个条件: save 900 1 save 300 10 save 60 1000