热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

Redis——持久化:RDB(快照)/AOF(写命令)

一、持久化:1)Redis之所以速度非常快,原因redis的读写操作都是在内存中进行的;2)内存中读写完成后必然要存入到磁盘中,rdb和aof就是持久化的两种模式;二、RDB快照:

一、持久化:

  1)Redis之所以速度非常快,原因redis的读写操作都是在内存中进行的;

  2)内存中读写完成后必然要存入到磁盘中,rdb和aof就是持久化的两种模式;

二、RDB快照:

  1)RDB就是将某一时刻的快照保存到磁盘中,即数据被保存下来;

  2)可以在redis.conf中配置快照保存的频率,redis会自动保存快照;

    

    900秒:变化1个即保存;

    300秒:变化10个即保存;

    60秒:变化10000个即保存;

  3)隐患:

    因为快照是根据时间点来保存的,如果时间点还未到,但服务器崩溃了,则崩溃时间到上个时间点的数据都丢失了;

  4)docker中启动:

    //挂一个数据卷在外面;

docker run -v /usr/local/docker/redis/conf/redis.conf:/usr/local/etc/redis/redis.conf -v /usr/local/docker/redis/conf/data:/data --name myredis -p 6379:6379 redis redis-server /usr/local/etc/redis/redis.conf

三、AOF(写命令):

  1)AOF是将所有的读写操作以日志的方式保存到一个aof文件中,根据命令时间数据的恢复;

  2)redis.conf配置:

    

      

    

    说明:

    (1)appendfilename:AOF 文件名称

    (2)appendfsync:同步频率

      always:每一条指令都立即生成日志,性能低;

      everysec:每秒生成一次,性能好;

    (3)appendonly:是否打开 AOF 持久化功能

   3)AOF重写:

    (1)当aof文件过大时,会执行重写;如set key 1,incr key 100次,会被重写为set key 100;

    (2)redis.conf配置:

      

      auto-aof-rewrite-percentage 100:超过最小体积,本次重写体积为100%,则为两倍;

      auto-aof-rewrite-min-size 64mb:最小重写体积;

  4)使用:

    配置开启后挂一个数据卷:

docker run -v /usr/local/docker/redis/conf/redis.conf:/usr/local/etc/redis/redis.conf -v /usr/local/docker/redis/conf/data:/data --name myredis -p 6379:6379 redis redis-server /usr/local/etc/redis/redis.conf

三、两种方式选择:

   两种都用!!

  RDB 快照方便数据恢复; AOF有bug;

 


推荐阅读
author-avatar
钟寓宛筠
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有