Redis的持久化
Redis的持久化有两种方式:
- RDB方式(默认支持):在指定的时间间隔内将内存中的数据集快照写入磁盘
- 优势
- 整个Redis数据库将只包含一个文件,对于文件备份来说是完美的,系统出现灾难性的故障时容易恢复
- 性能最大化,开启服务器时,只需要做的是分叉出一些进程,再由子进程来完成持久化操作,极大的避免服务器进程执行IO流操作。数据集很大时,比AOF启动更高效
- 劣势配置
- 在保持数据的高可用性时(最大限度的避免数据丢失),RDB不是好的选择。系统一定在定时持久化之间出现宕机时,还没有来得及往硬盘上写时,数据就已经丢失
- RDB通过分叉方式的子进程来协助完成数据持久化操作,因此在数据集很大时,可能导致整个服务器停止几百ms甚至1s
- 在redis.conf中的
save 900 1 每900s 至少1个key发生变化
save 300 10 每300s 至少10个key发生变化
save 60 10000 每60s至少10000个key发生变化
满足以上,会写入一次 - 在redis.conf的:RDB的默认文件名 dbfilename dump.rdb
保存路径:dir ./ AOF方式:将以日志的形式记录服务器的每一个操作,在服务器启动时会读取该文件来重新构建数据库,保证启动后数据库中的数据是完整的
- 优势
- 数据更高的安全性
- Redis提供三种同步策略:每秒、每修改(同步持久化,效率最低最安全)、不同步
- 对日志的写入操作采用append追加方式,在写入时即使出现宕机,也不会破坏日志文件中已经存在的内容(若一次操作只写入了一半数据就系统崩溃,在Redis下次启动之前使用redis -check -aof来解决数据一致性问题)
- 如果日志过大,Redis会自动启动重写机制,以append方式不断将修改的数据写入到老的磁盘当中,同时还会创建一个新的文件,来记录此期间产生的哪些修改命令被执行。在进行重写切换时,可以更好的保证数据的安全性
- AOF包含一个格式清晰易于理解的日志文件用于记录所有的修改操作(可以用它来完成数据的重建)
- 数据更高的安全性
- 劣势
- 对于相同数据量的数据集,AOF的文件比RDB的更大
- 根据同步策略的不同,AOF的运行效率低于RDB
- 配置
- redis.conf的
- appendonly no变为yes
会产生appendfilename "appendonly.aof" - #appendfsync always每修改一次同步
appendsync everysec每秒同步
#appendfsync no不同步
- appendonly no变为yes
- redis.conf的
- 若误删数据,通过修改appendonlu.aof文件中的命令,再重新启动来恢复数据
Redis的持久化的更多相关文章
- Redis总结(四)Redis 的持久化
前面已经总结了Redis 的安装和使用今天讲下Redis 的持久化. redis跟memcached类似,都是内存数据库,不过redis支持数据持久化,也就是说redis可以将内存中的数据同步到磁盘来 ...
- Redis的持久化的两种方式drbd以及aof日志方式
redis的持久化配置: 主要包括两种方式:1.快照 2 日志 来看一下redis的rdb的配置选项和它的工作原理: save 900 1 // 表示的是900s内,有1条写入,则产生快照 save ...
- redis启用持久化
redis的持久化有rdb和aof两种. rdb是记录一段时间内的操作,一盘的配置是一段时间内操作超过多少次就持久化. aof可以实现每次操作都持久化. 这里我们使用aof. 配置方式,打开redis ...
- redis + 主从 + 持久化 + 分片 + 集群 + spring集成
Redis是一个基于内存的数据库,其不仅读写速度快,每秒可以执行大约110000的写操作,81000的读取操作,而且其支持存储字符串,哈希结构,链表,集合丰富的数据类型.所以得到很多开发者的青睐.加之 ...
- Redis笔记(八)Redis的持久化
Redis相比Memcached的很大一个优势是支持数据的持久化, 通常持久化的场景一个是做数据库使用,另一个是Redis在做缓存服务器时,防止缓存失效. Redis的持久化主要有快照Snapshot ...
- 深入剖析 redis AOF 持久化策略
本篇主要讲的是 AOF 持久化,了解 AOF 的数据组织方式和运作机制.redis 主要在 aof.c 中实现 AOF 的操作. 数据结构 rio redis AOF 持久化同样借助了 struct ...
- 深入剖析 redis RDB 持久化策略
简介 redis 持久化 RDB.AOF redis 提供两种持久化方式:RDB 和 AOF.redis 允许两者结合,也允许两者同时关闭. RDB 可以定时备份内存中的数据集.服务器启动的时候,可以 ...
- redis 数据持久化
1.快照(snapshots) 缺省情况情况下,Redis把数据快照存放在磁盘上的二进制文件中,文件名为dump.rdb.你可以配置Redis的持久化策略,例如数据集中每N秒钟有超过M次更新,就将数据 ...
- redis的持久化之AOF
AOF Redis 分别提供了 RDB 和 AOF 两种持久化机制: RDB 将数据库的快照(snapshot)以二进制的方式保存到磁盘中. AOF 则以协议文本的方式,将所有对数据库进行过写入的命令 ...
- redis的持久化方式RDB和AOF的区别
1.前言 最近在项目中使用到Redis做缓存,方便多个业务进程之间共享数据.由于Redis的数据都存放在内存中,如果没有配置持久化,redis重启后数据就全丢失了,于是需要开启redis的持久化功能, ...
随机推荐
- 如何根据checkbox的值进行勾选!例:我要勾选value等于scanbuy,terminal的复选框!
微商城 随手购 自助购 <div class="controls" id="client"> <input id="mall&quo ...
- [LeetCode] Largest Triangle Area 最大的三角区域
You have a list of points in the plane. Return the area of the largest triangle that can be formed b ...
- jdk1.8的环境下打包成jdk1.6
第一步: 选中项目 ------->properties 第二部:(修改java build path和java conpiler) 第三部:需要打包成jdk6的jar包,就改成jre6. 注意 ...
- hdfs OutOfMemoryError
大量推送本地文件到hdfs如下 hadoop fs -put ${local_path} ${hdfs_path}报错. Exception in thread "main" ja ...
- 九、JSP入门(1)
JSP入门 1 JSP概述 1.1 什么是JSP JSP(Java Server Pages)是JavaWeb服务器端的动态资源.它与html页面的作用是相同的,显示数据和获取数据. 1.2 JSP的 ...
- Android 基础知识
system/app 与 system/priv-app Android4.4系统在system目录下新增了priv-app目录,在该目录下的apk一般都是系统核心应用如Launcher.sy ...
- fpga xilink 电平
- 关于HTTP协议学习(一)
一,目录结构 B/S 结构定义 URI (统一资源标志符) HTTP 协议 HTTP 请求报文 HTTP 响应报文 HTTP Methods HTTP Status Code 二,B/S,C/S 结构 ...
- [转]Jmeter + Grafana + InfluxDB 性能测试监控
https://www.cnblogs.com/yyhh/p/5990228.html Jmeter + Grafana + InfluxDB 性能测试监控 效果不错
- spring注解:反射与配置
上图运行结果按下图配置文件中的配置,进行的spring扫描加载.无论是componentScan方式,还是xml配置方式,如果one是实现了一个接口的类,如one_Interface,那么在程序中用o ...