博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
redis 持久化
阅读量:6251 次
发布时间:2019-06-22

本文共 1277 字,大约阅读时间需要 4 分钟。

一、什么是持久化

 二、常见的持久化方式

三、redis 的持久化方式

  1. rdb快照持久化 (snapshoting)
  2. aof( append only file) 

  (1) redis -之rdb 快照持久化

  工作原理:每隔N分钟或N次写操作后,从内存dump数据形成rdb文件,压缩放在备份目录(红色部分可以配置)

  

  redis.conf中的参数

  save 900 1           每900s修改过1个key就导出rdb

  save 300 10    每300s修改过10个key就导出rdb

  save 60   10000   每60s修改过10000个key就导出rdb 

  ps:通过时间和修改频次导出rdb文件,在短时间越频繁修改就越快导出。如果不想开启rdb 就注释这三项

  

  stop-writes-on-bgsave-error yes  导出rdb的进程如果发生错误就停止主进程写操作

  rdbcompression yes 使用LZF压缩rdb文件

  rdbchecksum  yes  存储和加载rdb文件时验证格式和兼容性

  dbfilename dump.rdb  设置rdb文件名

  dir ./ 设置工作目录,rdb文件会写入该目录,aof也会放入其中

  

  

  

   rdb 缺陷 

   在2个保存点之间,断电,将会丢失1-N分钟的数据  (下次导出之前的数据丢失)

  

  rdb总结:

  

     (2) redis -之aof快照持久化 (2.4之后)

     aof = append only file 

     原理:

    redis 主进程command操作,

    aof 进程将变化的操作写进文本文件中去。(记录日志)

redis.conf

#开启aofappendonly yes#正在导出rdb快照,不要同步aofno-appendfsync-on-rewrite no#同步频率#appendfsync always(每一次修改都往磁盘上写)appendfsync everysec(每秒往磁盘上写)#appendfsync no (由操作系统分配写)
#

可以看到刚才我的操作已经被记录到了appendonly文件中了 

aof 重写:由于同一个key可能有大量的操作,导致aof文件很大,所以在某个时间瞬间,根据key 的状态,逆化成命令再写入aof 文件中去,这样aof 文件的大小将变小。

#aof文件大小比起上次重写时的大小 增长率为100% 重写 (如1M 到 2M)auto-aof-rewrite-percentage 100#aof文件至少超过64M时重写 避免前期数量较小不停的重写auto-aof-rewrite-min-size 64mb

  

最后,aof和rdb可以一同使用,如果rdb 和 aof 同时存在 优先以aof恢复 数据。

  

 

转载于:https://www.cnblogs.com/zhoupufelix/p/8110543.html

你可能感兴趣的文章
JavaWeb 之 AJAX
查看>>
十、spark graphx的scala示例
查看>>
探秘SpringAop(一)_介绍以及使用详解
查看>>
查询指定时间内审核失败的事件日志
查看>>
problem-solving-with-algorithms-and-data-structure-usingpython(使用python解决算法和数据结构) -- 算法分析...
查看>>
springmvc流程
查看>>
BAT涉足汽车产业后对汽车后市场的影响是什么?
查看>>
LeetCode:Remove Nth Node From End of List
查看>>
删除链表的第 n 个结点
查看>>
drawable(1、canvas)
查看>>
Java过滤器,SpringMVC拦截器之间的一顺序点关系
查看>>
Git学习笔记(七)分支标签管理
查看>>
Vue学习计划基础笔记(四) - 事件处理
查看>>
python中的浅拷贝与赋值不同
查看>>
tensorflow安装
查看>>
【老叶茶馆】MySQL复制中slave延迟监控
查看>>
android onPause OnSavedInstance
查看>>
[PHP] - Laravel - CSRF token禁用方法
查看>>
python的序列类
查看>>
分享在MVC3.0中使用jQue“.NET研究”ry DataTable 插件
查看>>