首页 > 数据库技术 > 详细

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

时间:2019-08-02 13:36:56      阅读:81      评论:0      收藏:0      [点我收藏+]

一、持久化:

  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;

 

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

原文:https://www.cnblogs.com/Tractors/p/11287911.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!