美文网首页
Redis的两种数据持久化方式

Redis的两种数据持久化方式

作者: lifefruity | 来源:发表于2021-03-31 11:28 被阅读0次

1. RDB方式

在redis的安装目录的data下面有个dump.rdb文件,里面是全量的库数据,可以通过命令bgsave把文件里的数据刷到redis中,这个方式比较推荐,因为是fork了一个io进程来操作,不会卡。如果用save命令持久化,则使用的是主进程进行,这时如果set一个命令也会卡住。所以推荐用bgsave来操作。

配置文件中save(非上面的save命令):这里是用来配置触发 Redis的 RDB 持久化条件,也就是什么时候将内存中的数据保存到硬盘。比如“save m n”。表示m秒内数据集存在n次修改时,自动触发bgsave。
默认如下配置:
表示900 秒内如果至少有 1 个 key 的值变化,则保存save 900 1
表示300 秒内如果至少有 10 个 key 的值变化,则保存save 300 10
表示60 秒内如果至少有 10000 个 key 的值变化,则保存save 60 10000
不需要持久化,可以注释掉所有的 save 行来停用保存功能

但是一旦设置了主从,即使关了也会不起作用,因为主从就是通过dump.rdb来同步的。

2. AOF,append of file

类似把操作的命令追加进去,但是是以redis的协议稍微变了下格式,还是能看的懂的。AOF数据不容易丢失,最多也不会超过1秒,因为他1秒就会进行fsync操作。但是有个机制,会瘦身文件,比较set 了一个,又del,等于没有,就会瘦身rewrite文件。

AOF也有三种触发机制

  1. 每修改同步always:同步持久化 每次发生数据变更会被立即记录到磁盘,性能较差但数据完整性比较好,一般不用
  2. 每秒同步everysec:异步操作,每秒记录如果一秒内宕机,有数据丢失
  3. 不同no:从不同步

两种方式比较:
安全性:RDB比AOF比如容易丢数据,因为AOF最近也就丢1秒
轻重:RDB重,它是全量的物理数据
体积:RDB小,AOF大(全部的命令都在)

redis在4.0之后有个混合机制,如果rewrite,会先RDB同步了一份,之后的会日志的方式追加,推荐使用混合模式。

相关文章

  • Redis持久化是如何做的?RDB和AOF对比分析

    redis持久化2种方式 Redis持久化有 RDB 和 AOF两种方式 一、redis持久化----两种方式1...

  • REDIS数据安全与性能保障

    REDIS数据安全与性能保障 数据持久化 定义 REDIS的数据持久化有两种方式,一种是RDB方式,就是在指定条件...

  • Redis学习笔记

    聊聊redis持久化 – 两种方式 redis提供了两种持久化的方式,分别是RDB(Redis DataBase)...

  • 聊一聊redis持久化

    聊聊redis持久化 – 两种方式 redis提供了两种持久化的方式,分别是RDB(Redis DataBase)...

  • 2020-02-21 记录redis(8)

    redis持久化,两种持久化方式: RDB方式 AOF方式 持久化的使用方式: RDB 优势: 1、redis的数...

  • Redis深度历险-AOF持久化

    Redis深度历险-AOF持久化 Redis提供两种持久化方式AOF和RDB,RDB是快照形式持久化全量数据、AO...

  • 一些Redis知识点记录

    Redis 数据存放在内存中,需要配置持久化将数据保存在磁盘上,redis提供两种方式进行持久化: 1、RDB持久...

  • redis持久化

    为了保障数据的安全,redis支持两种持久化方式将数据持久化至硬盘:快照和AOF。 快照持久化 快照(snapsh...

  • Redis持久化

    redis持久化方式 redis的持久化,是将内存中的数据写入到磁盘中,有两种方式: 1. RDB快照 (1)re...

  • Redis-2 数据持久化及持久化配置

    一、数据持久化 开启持久化功能后,重启redis,数据会自动通过持久化文件恢复!! 1、redis持久化 – 两种...

网友评论

      本文标题:Redis的两种数据持久化方式

      本文链接:https://www.haomeiwen.com/subject/kyuohltx.html