zoukankan      html  css  js  c++  java
  • docker+redis 持久化配置(AOF)

    RDB持久化与AOF持久化简单描述

    RDB:RDB使用快照的方式存储数据库中的内容,直接将所有键值对数据全部存入二进制文件。建议使用BGSAVE来进行备份,整个过程会新fork一个子进程来执行,不影响redis其他进程的IO。
    AOF:AOF持久化则是记录每次数据写入的操作命令。并且会维护一个AOF缓冲区和一个重写缓冲区,AOF缓冲区中记录写命令并定期保存到已有的持久化文件中。为了避免文件过大,会根据触发条件进行重写AOF文件,并且为了保证子进程重写过程不丢失实时数据,同时会维护一个重写缓冲区。每次写命令都会同时记录在两个缓冲区中。

    两者的选择和优劣对比可以参考:https://www.cnblogs.com/ysocean/p/9114268.html

    AOF触发机制

    1.没有BGSAVE命令(RDB持久化)/AOF持久化在执行;
    2.没有BGREWRITEAOF在进行;
    3.当前AOF文件大小要大于server.aof_rewrite_min_size(默认为1MB),或者在redis.conf配置了auto-aof-rewrite-min-size大小;
    4.当前AOF文件大小和最后一次重写后的大小之间的比率等于或者等于指定的增长百分比(在配置文件设置了auto-aof-rewrite-percentage参数,不设置默认为100%)

    设置redis.conf

    在redis服务器所在的容器中中配置redis.conf

    1. appendonly。默认是appendonly no。改成appendonly yes。设置AOF模式持久化(记录每次操作,不使用快照,也就是RDB的形式)
    2. appendfsync。设置成everysec(每秒进行一次相对于always性能更好)。
    3. dbfilename。 设置保存的文件名称(可选)
    4. dir。 设置本地数据存储位置(可选,我配置到/redis/data,便于做与宿主机文件夹的映射)

    配置完以后重启redis服务

    docker 启动配置

    • 设置端口映射6378:6378
    • 设置文件挂载/redis/data:/redis/data
  • 相关阅读:
    【题解】【bzoj1819】【JSOI】Word Query电子字典
    【笔记】好背的KMP
    【题解】【bzoj 1503】【NOI2004】郁闷的出纳员
    【题解】【bzoj 2809】【Apio2012】dispatching
    CSP2019游记
    Spring boot starter pom的依赖关系说明
    Mybatis的分页插件PageHelp:Page对象中的pageSize等属性无法序列化,无法转换为json字符串
    Java Util
    实现Quartz的动态增删改查
    1. Spring boot 之热部署
  • 原文地址:https://www.cnblogs.com/augurG/p/9819983.html
Copyright © 2011-2022 走看看