redis数据安全(一)数据持久化

 一、Redis数据安全措施:

1、将数据持久化至硬盘

2、将数据复制至其他机器;

复制是在数据持久化的基础上进行的。

二、将数据持久化至硬盘

1、介绍:Redis是一个基于内存的数据库,它的数据是存放在内存中,内存有个问题就是关闭服务或者断电会丢失。Redis的数据也支持写到硬盘中,这个过程就叫做持久化。

持久化的一个重要原因是为了在之后重用数据,或是为了防止系统故障而将数据备份到一个远程位置。

注意:通常 Redis 的主节点是不会进行持久化操作,持久化操作主要在从节点进行。从节点是备份节点,没有来自客户端请求的压力,它的操作系统资源往往比较充沛。

2、Redis持久化选项:Redis提供了2种不同形式的持久化方式

(1)RDB(Redis DataBase) :Redis可以通过快照来获得存储在内存里面的数据在某个时间点上的副本。创建快照后,用户可以对快照进行备份,也可以将快照复制到其他服务器从而创建具有相同数据的服务器副本。简而言之,就是在指定的时间间隔内,定时的将 redis 存储的数据生成Snapshot快照并存储到磁盘等介质上。这是redis备份默认方式;
(2)AOF(Append only File) :只追加文件,将被执行的写命令写到AOF文件的末尾,,在下次 redis 重新启动时,只要把这些写指令从前到后再重复执行一遍,就可以实现数据恢复了。

3、实际使用:

(1)可以单独使用某一种。如果对数据不敏感,可以单独用RDB;但不建议单独使用AOF,因为可能会出现BUG。

(2)也可以同时使用这两种方式,官方推荐2个都启用。

 在这种情况下,当redis重启的时候会优先载入AOF文件来恢复原始的数据,这是因为 AOF 方式的数据恢复完整度更高,且AOF文件保存的数据集要比RDB文件保存的数据集要完整

(3)可以选择关闭持久化: 如果没有数据持久化的需求,也完全可以关闭 RDB 和 AOF 方式,这样的话,redis 将变成一个纯内存数据库,就像 memcache 一样。

官网介绍:

  • Redis 持久化
  • Redis持久化

4、比较:

 5、性能建议:

(1)因为RDB文件只用作后备用途,建议只在Slave上持久化RDB文件,而且只要15分钟备份一次就够了,只保留 save 900 1 这一条

(2)AOF的代价,一是带来持续的IO,二是AOF rewrite的最后将rewrite过程中产生的新数据(aof_rewrite_buf)写到文件造成的阻塞几乎是不可避免的。如果使用AOF,好处是在最恶劣的情况下也只会丢失不超过两秒数据,启动脚本较简单只load自己的AOF文件就可以了。

只要硬盘许可,应该尽量减少AOF rewrite的频率,AOF重写的基数大小默认值64M(autoaof-rewrite-min-size)太小了,可以设置到5G以上;默认超过原大小100%(auto-aof-rewrite-percentage)大小时重写可以改到适当的数值。

三、Redis 4.0 混合持久化:

1、原理:

重启 Redis 时,我们很少使用 rdb 来恢复内存状态,因为会丢失大量数据。我们通常使用 AOF 日志重放,但是重放 AOF 日志性能相对 rdb 来说要慢很多,这样在 Redis 实例很大的情况下,启动需要花费很长的时间。

Redis 4.0 为了解决这个问题,带来了一个新的持久化选项——混合持久化。将 rdb 文件的内容和增量的 AOF 日志文件存在一起。这里的 AOF 日志不再是全量的日志,而是自持久化开始到持久化结束的这段时间发生的增量 AOF 日志,通常这部分 AOF 日志很小。

在 Redis 重启的时候,可以先加载 rdb 的内容,然后再重放增量 AOF 日志就可以完全替代之前的 AOF 全量文件重放,重启效率因此大幅得到提升。

2、混合持久化配置:

在redis的配置文件当中有一个aof-use-rdb-preamble参数来开启 混合持久化,默认是yes开启的。混合持久化结合了 RDB 和 AOF 的优点,Redis 5.0 默认是开启的。

3、混合持久化优缺点:

(1)优点:混合持久化结合了 RDB 和 AOF 持久化的优点,开头为 RDB 的格式,使得 Redis 可以更快的启动,同时结合 AOF的优点,有减低了大量数据丢失的风险。

(2)缺点:

  • AOF 文件中添加了 RDB 格式的内容,使得 AOF 文件的可读性变得很差;
  • 兼容性差,如果开启混合持久化,那么此混合持久化 AOF 文件,就不能用在 Redis 4.0 之前版本了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/330774.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

世微AP8660B 微小型升压型 DC/DC 调整器

产品概述 AP8660B是一款微小型、高效率、升压型 DC/DC 调整器 。电路由电流模COT 控制环路,误差放大器,斜坡补偿电路 ,比较器和功率开关等模块组成。该芯片可在较宽负载范围 内高效稳定的工作,内置一个 2.5A 的功率开关和软启动保…

LaTeX 多栏文档 Multiple columns如何插入图片并修改样式

在今天写报告的时候用到了 latex 的多栏列表,插入图片的时候感觉很无助 如果不喜欢让Latex自动安排图片位置,可以使用float包,然后可以使用\begin{figure}[H]。 记得提前导入这个包 \usepackage{float} 为了让我的图片的caption居中&#xf…

c语言-库函数memcpy()、memmove()、memcmp()、memset()介绍

文章目录 前言一、库函数memcpy()1.1 memcpy()介绍1.2 memcpy()模拟实现 二、库函数memmove()2.1 memmove()介绍2.2 memmove()模拟实现 三、库函数memcmp()3.1 memcmp()介绍 四、库函数memset()4.1 memset()介绍 总结 前言 本篇文章介绍c语言库函数memcpy()、memmove()、memcm…

物联网与智慧城市的无界未来:如何打破传统束缚,开启智能生活新篇章

目录 一、物联网:连接万物的技术革命 1、物联网的发展历程 2、物联网的核心技术 二、智慧城市:未来城市的蓝图与挑战 1、智慧城市的蓝图 2、智慧城市建设面临的挑战 3、应对挑战的措施 三、物联网与智慧城市的融合:打破传统束缚&…

Linux进程【3】fork函数与进程等待(超详解哦)

fork与进程等待 引言forkfork创建子进程的过程写时拷贝 进程等待waitwaitpid阻塞等待与非阻塞轮询 总结 引言 fork函数在Linux中是一个非常重要的系统调用接口!它用于在当前的已有进程中创建一个新的进程(子进程)。再由父子进程并发地执行不…

nodejs下载安装

一、node下载安装 官网下载 官网 根据自己电脑系统选择合适的版本进行下载,我这里选择window 64 位 下载完点击安装 打开cmd查看安装 此处说明下:新版的Node.js已自带npm,安装Node.js时会一起安装,npm的作用就是对Node.js…

2024年外贸新兴市场有哪些 | 箱讯科技国际贸易平台

当前欧美市场经济增速放缓,通胀持续高位导致物价普遍上涨,进一步引发消费疲软。此外,受原材料价格、劳动力、土地等经营成本上升影响,外贸出口企业利润被进一步压缩。 困顿之中,新兴市场成为破局关键,巨大的…

基于Python flask的猫眼电影票房数据分析可视化系统,可以定制可视化

技术方案 猫眼电影票房数据分析可视化系统是基于Python Flask框架开发的一款用于分析和展示猫眼电影票房数据的Web应用程序。该系统利用Flask提供了一个简单而强大的后端框架,结合Request库进行网络爬虫获取猫眼电影票房数据,并使用Pyecharts进行可视化…

【前后端的那些事】评论功能实现

文章目录 聊天模块1. 数据库表2. 后端初始化2.1 controller2.2 service2.3 dao2.4 mapper 3. 前端初始化3.1 路由创建3.2 目录创建3.3 tailwindCSS安装 4. tailwindUI5. 前端代码编写 前言:最近写项目,发现了一些很有意思的功能,想写文章&…

Elasticsearch8 集群搭建(二)配置篇:(1)节点和集群配置

安装完Elasticsearch后,需要对其进行配置,包括以下几部分:节点和集群配置、系统配置、安全配置。 此篇记录节点和集群配置的内容,后续将更新系统配置和安全配置。 节点和集群配置: 通过编辑/usr/local/elasticsearc…

Midjourney Prompt 常用参数列表

完整参数列表 参数名称调用方法使用案例注意事项V5V4V3niji版本在关键词后加空格,然后带上版本参数: --v 或者 —v--version 或者 —versionvibrant california poppies --v 5版本仅支持 1、2、3、4、5。长宽比在关键词后加空格,然后带上长…

大寒吃什么食物养生?养生食物清单记在手机便签更方便

随着冬季的深入,我们迎来了二十四节气中的最后一个——大寒。寒风凛冽,白雪皑皑,这是大自然在提醒我们,要更加注重身体的保养。而大寒时节,选择对的食物,就显得尤为重要。 每到大寒,我都会精心…

L1-035 情人节(Java)

以上是朋友圈中一奇葩贴:“2月14情人节了,我决定造福大家。第2个赞和第14个赞的,我介绍你俩认识…………咱三吃饭…你俩请…”。现给出此贴下点赞的朋友名单,请你找出那两位要请客的倒霉蛋。 输入格式: 输入按照点赞…

C++代码入门02:Vector中的push_back

图源:文心一言 上机题目练习整理,本篇作为线性表的代码补充,提供了两种(差别并不大)算法,供小伙伴们参考~🥝🥝 第1版:在力扣新手村刷题的记录 方法一:自己写…

Android Studi安卓读写NDEF智能海报源码

本示例使用的发卡器&#xff1a;https://item.taobao.com/item.htm?id615391857885&spma1z10.5-c.w4002-21818769070.11.1f60789ey1EsPH <?xml version"1.0" encoding"utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmln…

vscode调试debug,launch.json文件‘args’无法发传递给脚本

问题&#xff1a;调试时&#xff0c;脚本执行&#xff0c;发现在launch.json文件中明明定义了“args”参数&#xff0c;却没有传递给执行命令。 解决&#xff1a; launch.json中的"name"参数不要随便起&#xff0c;要与执行的文件名一致&#xff01; 参考链接&…

品牌全球化:关于跨界合作的探索与解析

在全球化的时代背景下&#xff0c;品牌出海已经成为企业发展的重要战略之一。然而&#xff0c;面对文化差异、市场竞争和消费者需求等多重挑战&#xff0c;品牌如何成功地打入海外市场&#xff0c;是许多企业面临的难题。跨界合作作为一种新兴的商业模式&#xff0c;正逐渐成为…

旅游平台day02

1. 用户注册 概述&#xff1a; 常见的注册方式&#xff1a;邮箱注册、手机号注册、昵称注册、或者以上几种同时支持 本项目仅仅支持手机号注册 需求&#xff1a; 项目启动后&#xff0c;访问regist.html进入注册页面 手机号校验 前后台都需要对手机号进行校验 前端校验&am…

微信小程序+前后端开发学习材料2-(视图+基本内容+表单组件)

学习来源 视图 1.swiper 滑块视图容器。其中只可放置swiper-item组件&#xff0c;否则会导致未定义的行为。 显示面板指示点indicator-dots 基础内容 1.icon 图标组件 实例演示 2.progress 进度条。组件属性的长度单位默认为px&#xff0c;咱用rpx。 实例演示 这…