Redis 如何避免数据丢失

Redis 的持久化主要有两大机制: AOF 日志 和 RDB 快照

1、AOF 日志实现:

    配置 appendfsync三个可选值:

Always: 同步写回:每个写命令执行完,立马同步地将日志写回磁盘。

Everysec,每秒写回:每个写命令执行完,只是先把日志写到AOF文件的内存缓冲区,每隔一秒把缓冲区的内容写入磁盘;

NO   :操作系统控制写回:每个写命令执行完,只是先把日志写到AOF文件的内存缓冲区,由操作系统决定何时将缓冲区内容写回磁盘。

配置项

时机

优点

缺点

Always

同步写回

数据不基本不丢失

性能影响大

Everysec

每秒写回

性能适中

宕机时丢失1秒内数据

No

操作系统控制写回

性能好

宕机丢失数据较多

如何开启AOF 编辑 redis.conf

Redis 如何避免数据丢失_第1张图片

然后添加 对应配置

Redis 如何避免数据丢失_第2张图片

2 、内存快照(内存中的数据某一个时刻的状态记录) RDB 实现

Redis 提供两个命令来生成RDB文件,分别是save 和bgsave

save : 在主线程中执行,会导致阻塞

bgsave: 创建一个子进程,专门用于写入RDB文件,避免了主线程的阻塞,这也是Redis RDB文件生成的默认配置。

实现RDB: 服务器的关闭会自动停止

Redis 如何避免数据丢失_第3张图片

你可能感兴趣的:(redis,redis,缓存,java)