`
sls0919
  • 浏览: 123287 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

redis持久化策略

阅读更多

redis作为一个支持持久化的内存数据库,常用作cache。

 

redis持久化方式:1 Snapshotting(快照)  2 Append-only file(aof)

 

Snapshotting 是默认的持久话方式,此方式是将内存中的数据以快照的方式写入到二进制文件中,默认文件名为dump.rdb。可以通过修改配置文件设置自动快照方式。

save 900 1             #900秒内如果发生超过一个key被修改,则发起快照保存
save 300 10          #300秒内如果发生超过10个key被修改,则发起快照保存
save 60 10000      #60秒内如果发生超过10000个key被修改,则发起快照保存

 优点:快照易回复,而且文件小

缺点:当redis挂掉后会丢掉最后一次快照到挂掉时的数据

 

AOF比RDB方式有更好的持久化性。此方式是Redis会将没一个收到的写命令都通过write函数追加到文件中,类似于MySQL中的binlog。默认写入文件为:appendonly.aof。当redis重启时会通过执行文件中保存的写命令来在内存中重建整个数据库内容。

appendonly yes                                  #启用AOF持久化方式
appendfilename appendonly.aof    #AOF文件的名称,默认为appendonly.aof
# appendfsync always                      #每次收到写命令就立即强制写入磁盘,是最有保证的完全的持久化,但速度也是最慢的,一般不推荐使用。
appendfsync everysec                      #每秒钟强制写入磁盘一次,在性能和持久化方面做了很好的折中,是受推荐的方式。
# appendfsync no                               #完全依赖OS的写入,一般为30秒左右一次,性能最好但是持久化最没有保证,不被推荐。
 

优点:更好的持久化,redis挂掉后只丢失最后1s的文件

缺点:持久化文件会变的越来越大

 

对持久化文件越来越大的解决方法:

为了压缩AOF的持久化文件,Redis提供了bgrewriteaof命令。
收到此命令后Redis将使用与快照类似的方式将内存中的数据以命令的方式保存到临时文件中,最后替换原来的文件,以此来实现控制AOF文件的增长。
由于是模拟快照的过程,因此在重写AOF文件时并没有读取旧的AOF文件,而是将整个内存中的数据库内容用命令的方式重写了一个新的AOF文件

no-appendfsync-on-rewrite yes      #在日志重写时,不进行命令追加操作,而只是将其放在缓冲区里,避免与命令的追加造成DISK IO上的冲突。
auto-aof-rewrite-percentage 100    #当前AOF文件大小是上次日志重写得到AOF文件大小的二倍时,自动启动新的日志重写过程。
auto-aof-rewrite-min-size 64mb     #当前AOF文件启动新的日志重写过程的最小值,避免刚刚启动Reids时由于文件尺寸较小导致频繁的重写。
 

 

 

 

 

 

 

3
2
分享到:
评论

相关推荐

    Redis持久化策略详解

    Redis持久化策略详解

    redis持久化和内存策略1

    }} Redis持久化策略说明Redis中的数据都在内存中,如果断电宕机则内存数据丢失.其中数据应该持久化保存.不允许丢失.持久化策略:RDB模式AOF模式Re

    Redis持久化、主从与哨兵架构详解开发文档

    Redis持久化 RDB快照(snapshot) 在默认情况下, Redis 将内存数据库快照保存在名字为 dump.rdb 的二进制文件中。 你可以对 Redis 进行设置, 让它在“ N 秒内数据集至少有 M 个改动”这一条件被满足时, 自动保存...

    Redis持久化RDB和AOF区别详解

    RDB是Redis内存到硬盘的快照,用于redis持久化,创建RDB二进制文件,将存储在内存中的数据,持久化的放到硬盘中,当我们需要这些数据的时候,启动载入RDB文件,数据将会被存入内存中,其实RDB就是一种快照的方式持久...

    redis持久化

    目录 介绍 rdb rdb原理 rdb触发条件 ...rdb实现持久化主要是将当前进程中的数据生成快照保存到硬盘上,在重启的时候读取硬盘上的数据(如果同时配置了aof,将会先执行aof策略,因为aof的实时性比较高

    Redis从入门到精通(深入剖析)【55集完整资料】39-redis-redis的持久化-AOF策略.avi

    Redis从入门到精通高清,迅雷播放器组件可顺利播放

    SSM项目-redis缓存策略和配置实现

    1.3 Redis支持数据持久化,支持AOF和RDB两种持久化方式; 1.4 Redis类似mysql可以进行主从复制,可以实现读写分离; 1.5 Redis由于是内存中数据集存储的,故对内存的要求较高,对海量数据处理有限制; 1.6 Redis主从...

    Redis从入门到精通(深入剖析)【55集完整资料】38-redis-redis的持久化-RDB策略.avi

    Redis从入门到精通高清,迅雷播放器组件可顺利播放

    AOF持久化策略配置文件

    AOF持久化策略配置文件

    Redis面试题50道(含答案)_.pdf

    36、Redis 持久化数据和缓存怎么做扩容? 37、分布式 Redis 是前期做还是后期规模上来了再做好?为 什么? 38、Twemproxy 是什么? 39、支持一致性哈希的客户端有哪些? 40、Redis 与其他 key-value 存储有什么不同...

    redis面试复习.xmind

    # redis持久化 ### 写了快照和命令行模式的优点缺点 (按道理的话本应该写上快照模式的自动和手动,save和bgsave等等,但是这里掌握的还不是很熟练所以暂未完善) # redis常见并发问题 ### 雪崩,击穿,击穿的概念与解决...

    Redis面试专题.pdf

    4.知道 redis 的持久化吗?底层如何实现的?有什么优点缺点? 5.redis 过期策略都有哪些?LRU 算法知道吗?写一下 java 代码实现? 6.缓存穿透、缓存击穿、缓存雪崩解决方案? 7.在选择缓存时,什么时候选择 redis,...

    Redis面试题(2020最新版)

    Redis为什么这么快数据类型Redis有哪些数据类型Redis的应用场景持久化什么是Redis持久化?Redis 的持久化机制是什么?各自的优缺点?如何选择合适的持久化方式Redis持久化数据和缓存怎么做扩容?过期键的删除策略...

    Redis入门到精通视频教程

    视频详细讲解,需要的小伙伴自行百度网盘下载,链接见附件,永久有效。...06_redis 持久化 07_redis 事务 08_删除策略 09_redis服务器配置 10_高级数据类型 11_主从复制 12_哨兵模式 13_cluster 14_企业级解决方案

    Redis面试题.pdf

    5. Redis的持久化机制有哪两种?分别介绍RDB持久化和AOF持久化。 6. 什么是Redis的主从复制(Replication)?它的作用和实现原理是什么? 7. Redis中的LRU淘汰策略是什么?它如何应对内存溢出的情况? 8. Redis中的...

    2023年Redis缓存面试题目汇总

    Redis的AOF(Append Only File)持久化是如何工作的? 你如何理解Redis的复制?它有什么作用? Redis的集群是如何实现高可用的? 你如何保证Redis的安全性? 你如何优化Redis的性能? 在什么情况下你会使用Redis事务...

    redis非关系型数据库

    3 Redis的持久化方案有两种:RDB和AOF; RDB 是 Redis 默认的持久化方案。在指定的时间间隔内,执行指定次数的写操作,则会将内存中的数据写入到磁盘中。即在指定目录下生成一个dump.rdb文件(快照)。Redis 重启会...

    Redis——redis学习过程

    Redis的持久化 Redis缓存与数据库(mysql同步)->kalafa作为异步队列 Redis知识点总结 缓存穿透、缓存雪崩,热点key 6、Redis高级配置 Redis5集群搭建 JAVA远程客户端RedisCluster实战应用 Spring

    Redis从入门到精通视频.rar

    38-redis-redis的持久化-RDB策略.avi 39-redis-redis的持久化-AOF策略.avi 40-redis-redis的事务简介.avi 41-redis-redis事务基本操作1.avi 42-redis-redis事务基本操作2.avi 43-redis-redis事务基本操作3.avi 44-...

    shushu1234#articles-backup#2018-06-09-Redis-持久化1

    1.4 对比 1.5 自动生成RDB 1.6 触发机制 1.7 弊端 2.3 no策略 2.4 对比 4.2 子进程开销优化

Global site tag (gtag.js) - Google Analytics