Redis持久化存储方式解析
2018-03-30 16:36
274 查看
Redis是一个支持持久化的内存数据库,也就是说redis需要经常将内存中的数据同步到磁盘来保证持久化。redis支持四种持久化方式,一是 Snapshotting(快照)也是默认方式;二是Append-only file(缩写aof)的方式;三是虚拟内存方式;四是diskstore方式。 |
一、RBD(快照)原理在某个时间点将内存中的数据写入一个磁盘的临时文件,持久化结束后,用这个临时文件替换上次持久化的文件。配置文件save 900 1 # 在900秒内如果键值修改过1次就快照 save 300 10 # 在300秒内如果键值修改过10次就快照 save 60 10000 # 在60秒内键值修改过10000次就快照 stop-writes-on-bgsave-error yes # 后台备份出错时,是否禁止新的写入操作? 如果不禁止容易造成数据不一致 rdbcompression yes # 导出的rdb文件是否压缩 rdbchecksum yes # 恢复时导入rdb文件是否检验完整性、是否检验版本是否一致 dbfilename dump.rdb # 导出来得rdb文件名 dir /var/lib/redis # rdb的存放路径二、AOF原理通过将发送到服务器的写操作命令记录下来,形成AOF文件,此文件只许追加不能修改,Redis启动时会读取AOF文件后重构数据(重新执行一遍)。文件默认名称是appendonly.aof配置文件appendonly no # 是否开启aof功能 appendfilename "appendonly.aof" # 文件名 appendfsync always # 只要一修改就同步至缓冲区,并同步至磁盘 appendfsync everysec # 每秒将数据同步至缓冲区,并同步至磁盘 appendfsync no # redis不设定同步策略,由内核设定的参数决定是否同步 no-appendfsync-on-rewrite no # appendfsync设定为always或everysec的话,还要不要同步磁盘 auto-aof-rewrite-percentage 100 # 每隔多久重构aof文件,单位秒 auto-aof-rewrite-min-size 64mb # aof文件最小为多少时重构一次aof文件。搭配上一条使用 aof-load-truncated yes # 崩溃修复后自动进行全备aof重写、重构将大量重复的命令合并成一条命令,而不必频繁的去重新执行每一条命令.
三、AOF对比RDBAOF更加安全,可以将数据即时同步到文件中,但是消耗磁盘I/O,效率低Snapshot更高效,它是服务器在正常运行情况下数据同步最佳手段,文件尺寸小,效率高,安全性低注:RDB与AOF同时开启 默认使用AOF来恢复数据四、常用架构架构良好的环境中:Master使用AOF,Slave使用snapshot。原因是主要确保数据完整,从要速度快。网络环境较差:建议使用master与slave同时使用AOF更加安全网络良好、需要收密集型写操作:建议Master采用snapshot,Slave采用AOF本文地址:https://www.linuxprobe.com/redis-persistent-storage.html
相关文章推荐
- Redis持久化存储方式解析
- redis,mysql,memcache的区别与比较,redis两种数据存储持久化方式
- Redis详解之-事件订阅和持久化存储方式(RDB和AOF)(二)
- Redis存储方式RDB和AOF介绍及持久化的重要性
- redis 存储数据结构及持久化方式--rdb 、aof
- redis 的两种持久化方式及原理
- 关于Redis两种持久化方式的说明
- Redis持久化的两种方式和配置
- Redis持久化备份方式
- android xmlpull方式解析存储xml
- redis持久化方式
- Redis的两种持久化方式及原理
- Redis的持久化之AOF方式
- Redis(超高性能数据库)持久化Key-Value数据存储
- json存储数据与解析方式
- Redis学习之持久化方式和配置
- redis持久化的几种方式
- redis 持久化方式
- Redis持久化存储(AOF与RDB两种模式)
- iOS开发之数据持久化(iOS中常用的四种数据存储方式)