• Redis数据的持久化


    Redis的持久化有两种方式:

    RDB(Redis Database)和AOF(Append Only File)

    目录

    一、RDB

    保存方式

    2、rdb在redis.conf文件中的配置

    二、AOF

    1、保存方式

    2、aof方式持久化在redis.conf文件中的配置

    三、持久化建议

    四、单机版-redis部署


    一、RDB

    保存方式

    将Redis数据以快照的形式保存到磁盘中

    在RDB方式下,Redis提供了save和bgsave两种方式进行数据持久化。

    其中save方式是在主进程中执行,会阻塞所有的客户端请求,直到快照保存完成。

    bgsave方式则是通过创建子进程进行数据持久化,并不会阻塞客户端请求。

    在save和bgsave中,save会在执行完指定时间内的写操作后进行快照保存,而bgsave则是在指定时间内开启一个子进程进行快照保存。

    在save和bgsave中,save会在执行完指定时间内的写操作后进行快照保存,而bgsave则是在指定时间内开启一个子进程进行快照保存。

    save 900 1
    save 300 10
    save 60 10000
    redis的持久化操作为什么要保存三次
    

    因为在Redis的持久化过程中,如果只进行一次快照保存,可能会因为系统崩溃或者其他原因导致数据丢失。而多次进行快照保存,可以增加数据的保护程度,降低数据丢失的风险。因此,通常会对持久化操作进行多次保存,在上述的示例中,就是在900秒、300秒和60秒后分别进行一次快照保存。

    2、rdb在redis.conf文件中的配置

    dir /a/b/c

    #该名称会在dir目录下生成

    dbfilename dump.rdb

    rdbcompression yes

    #rdbcompression指定是否开启rdb文件的压缩存储,默认为yes,开启压缩存储后可以减小RDB文#件的大小,但会增加cpu的使用量。

    二、AOF

    1、保存方式

    将Redis的每个写操作以追加的方式记录到AOF文件中,这样在redis重启时可以通过重新执行AOF文件中记录的写操作来恢复数据

    2、aof方式持久化在redis.conf文件中的配置

    dir /a/b/c

    #开启AOF持久化方式

    appendonly yes

    #文件名

    appendfilename "appendonly-41.aof"

    三、持久化配置-建议

    在配置redis.conf时,可以同时配置rdb和aof两种格式的持久化操作吗,有什么推荐?

    可以同时配置RDB和AOF两种格式的持久化操作,因为它们各有优缺点,可以根据实际情况选择合适的持久化方式。

    RDB持久化方式可以将Redis数据库在指定的时间间隔内生成快照,并将快照保存到硬盘上。快照保存的是Redis数据库在某个时间点的数据,可以保证数据的完整性。但是,如果Redis服务器在快照生成之后崩溃,最后一次快照生成之后的新写入数据将会丢失。

    AOF持久化方式可以将Redis数据库中所有的写命令记录在追加文件中,当Redis服务器重启时,可以通过重新执行AOF文件中的所有命令来还原数据。AOF持久化方式可以更好地保证数据的一致性,但是由于需要记录每个写命令,所以AOF文件通常比RDB文件更大,重启时也需要更长的时间来还原数据。

    根据业务的需求和实际情况,可以选择RDB、AOF或RDB与AOF的组合持久化方式。如果数据的完整性比较重要,可以使用RDB方式;如果数据的一致性比较重要,可以使用AOF方式;如果既要保证数据的完整性,又要保证数据的一致性,可以使用RDB与AOF的组合方式。一般来说,建议使用AOF持久化方式,因为它更能保证数据的一致性。

    四、单机版-redis部署

    https://blog.csdn.net/Isonion/article/details/134442807?spm=1001.2014.3001.5501

  • 相关阅读:
    互斥量保护资源
    linux时间的应用之计算消耗时间
    FFmpeg中的常用结构体分析
    电子行业ERP解决方案
    数据库索引详解
    PHP+AJAX实现异步上传文件
    软件 | 快速计算网络自然连通度评估群落稳定性
    数据在内存中的存储(1)——整形
    Linux权限管理(umask、粘滞位)
    Netty深入浅出Java网络编程学习笔记(二) Netty进阶应用篇
  • 原文地址:https://blog.csdn.net/Isonion/article/details/134463788