redis的数据类型的操作增删改查

news2025/1/19 20:34:54

redis的数据类型的操作增删改查

redis的高可用:

在集群当中有一个非常重要的指标,提供正常服务的时间的百分比(365天)99.9%

redis的高可用的含义要更加宽泛,正常服务是指标之一数据容量扩展,数据的安全性

在redis中实现这种高可用技术:持久化 主从复制,哨兵模式 cluster集群。

持久化: 持久化是最简单的高可用方法,主要作用是数据备份,也就是把redis缓存在内存中的数据保存到本地的硬盘中

redis持久化的两种方式:

1、RDB持久化:redis在内存中的数据定时保存到磁盘。(自动执行,手动执行)

2、AOF持久化:redis的操作日志,以追加的方式写入一个AOF的文件,类似于mysql的binlog。

rdb的持久化: 指在指定的时间间隔内,将内存中当前进程中的数据生成快照保存到硬盘(快照持久化),用二进制压缩存储

保存的文件名的后缀.rdb redis启动时可以直接读取快照文件,实现数据恢复。

rdb的触发机制

手动机制:save bgsave都可以省程RDB文件。

save创建RDB文件时,整个redis进程会被阻塞,期间redis将无法进行读写操作,直到RDB文件创建完成为止。

bgsave就是主从复制的机制

bgsave的特点就是父进程会通过fork机制创建一个子进程,子进程的创建过程中,父进程会阻塞,子进程创建完毕,主进程会解除阻塞,然后由子进程来创建RDB文件。创建完成之后,通知主进程更新通知信息。

save 900 1

900秒 当时间到900秒时,如果redis的数据至少发生一次变化,就会执行bgsave,

save 300 10

300 秒 时间到300秒时,如果redis的数据至少发生10次变化,就会执行bgsave,

save 60 10000

60秒 时间到60秒时,如果redis的数据至少发生一万次变化,就会执行bgsave,

sava 120 1000 bgsave

save 60 10000 bgsave

数据变动越多,执行的时间要越短,数据变动不大,时间间隔要长一点。

rdbcompression yes

开启rdb的文件压缩功能,在高并发场景建议关闭。

除了配置文件中的save m n 之外

主从复制,从节点执行全量复制操作,主节点会执行bgsave,把rdb文件传送给从节点。

关闭主进程,shutdown只会,会自动执行rdb的持久化

启动时加载:

发现rdb文件被损坏,日志中会打印错误,redis会拒绝启动。

redis-check-rdb修复rdb的持久化文件。

AOF持久化:

aof持久化是将redis的每一次读 写 删除命令记录到一个单独的.aof结尾的文件。查询操作由主进程记录。当redis重启时,再次执行AOF文件中的命令来恢复数据。

AOF的实时性更好,也是主流的持久化方案。

aof-load-truncated yes

用于判断AOF文件,如果被截断时的行为

yes:发现在被截断(写入过程中出现了异常,导致文件未能完全写入) redis会尽可能恢复文件中的数据,redis会继续运行

no:发现AOF文件被截断,redis将拒绝启动。

数据完整性要求比较高用no

注重数据服务器的可用性用yes

rdb是redis的默认持久化文件,但是一但开启AOF持久化,那么redis会以AOF的持久化文件作为最高优先级。

AOF的重写功能

1、随着时间增长,AOF文件当中的数据也会不断增加,AOF的文件也会也来越大,过大的AOF文件不仅仅会影响,也会导致数据恢复的时间过长。

文件重写是指定期的重写AOF文件,减小AOF文件的体积。AOF重写是把redis进程内的数据,转化为写的命令,同步到新的aof文件当中(不会额外的生成一个新的文件,只是在原内容当中进行压缩)。不会对原有的AOF文件进行任何读写的操作。

*文件重写虽然是AOF持久化强烈推荐的,但不是必须的,没有重写并不影响redis启动时读写数据,在实际中,会关闭自动的文件重写,通过定时任务来完成。

AOF同步文件的策略的三种方式

appendfsync always

写入过程中,会立刻调用redis系统的fsync 操作立刻写入到AOF文件,这次写入都执行同步,硬盘的性能有瓶颈,硬盘的寿命也会大大降低

appendfsync everysec:命令写入,调用write操作,write操作结束后,线程会返回。FSYNC同步文件操作由专门的线程,每秒调用一次,这是一个这种的策略,是性能喝安全性的平衡,是redis的默认配置,也是推荐配置

appendfsync no :写入操作调用系统的write操作,不对AOF文件进行同步,操作系统来同步,同步周期30秒,文件同步的时间不可控,缓冲区会堆积大量数据,数据的安全也无法保证。

重写的出发条件是什么

1、手动触发

redis-cli bgrewriteaof

2、自动触发

auto-aof-rewrite-percentage 100

文件的大小超过基准的百分比,默认值就是100,文件的超过两倍时,执行bgrewriteaof,设置为0,禁用自动触发

100M 200M 200M 400M

auto-aof-rewrite-min-size 64mb

文件大于基准值,才会进行重写,整个值时AOF文件执行重写的最小值,避免开始穷redis后,文件太小,然后频繁的进行重写。

AOF为什么能够压缩文件;

1、重写的过程中,过期的数据不会写入文件

2、无效的命令不在写入文件,数据被重复设置,set test=1 set test 2 删除的数据也不会写入

多条命令合并成一个 sadd test1 v1 sadd test1 v2

sadd test1 v3 sadd test1 v1 v2 v3

重写之后AOF文件当中的命令减少了,空间也少了,恢复速度也增增加了 重写不是必须的

RDB和AOF之间的优缺点

RDB的优点:文件体积小,如果需要备份,网络传输速度很快,适合全量复制,恢复速度也比AOF要快

缺点:做不了实时的持久化,数据如此重要不能够容忍丢失的,另外RDB需要满足特定的格式,兼容性很差,老版本的RDB不支持新版本,(redis的版本一定要一致)5.0.7版本

AOF的优点;秒级的持久化。兼容性好,文本格式保存的命令。

缺点:文件大,恢复速度慢。AOF持久化需要频繁的向磁盘写入数据,磁盘的io压力也很大,对redis主进程的性能也会有一定影响。

重点:

持久化方式:redis的持久化也算是高可用的一种,通过备份文件来恢复数据,冷备份。

rdb :sava线上禁用,bgsave

AOF:实时持久化写入的是操作的命令,除了查 set del 会记录 get select不计入

实时记录恢复方式类似于mysql的binlog

重写;推荐但不是必须的,重写也是主进程创建一个子进程,在过程中产生的数据以及同步策略都会写入到AOF当中。

实验:重复写入数据

重复插入同一个数据只会写入最后一个设置的数据

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ubuntu下训练自己的yolov5数据集

参考文档 yolov5-github yolov5-github-训练文档 csdn训练博客 一、配置环境 1.1 安装依赖包 前往清华源官方地址 选择适合自己的版本替换自己的源 # 备份源文件 sudo cp /etc/apt/sources.list /etc/apt/sources.list_bak # 修改源文件 # 更新 sudo apt update &&a…

三季度同道猎聘遇“瓶颈”,破局重点是中高端人才?

古往今来,人才一直是企业“争夺”的对象。随着新兴产业的快速冒头以及AI技术的崛起,新型人才以及中高端人才成为市场上的香饽饽,而这类人才的稀缺性让企业和招聘平台双方都很“头疼”。再加上外部环境的不确定性增加,职场人普遍求…

打造独特封面:封面设计的关键要素与技巧解析!

书籍作品的封面设计非常精致。就像商品的包装一样,有助于提高书籍的销量。书封的设计表现主要从图像、文字、材质等方面进行设计。基本上所有的书都需要有文字,所以特别考验设计师的文字排版能力。今天就和大家分享一些书籍封面设计的小知识,…

轻松整合Knife4j:快速搭建Swagger文档界面与接口调试

Knife4j 是一个为 Java 开发者提供的 Swagger 文档聚合工具,它是 Swagger-Bootstrap-UI 的升级版。它的主要功能是生成和展示 API 文档,让开发者能够更轻松地查看和测试接口。 整合 Knife4j(Swagger-Bootstrap-UI 的升级版)到 Spr…

VT驱动开发

VT技术(编写一个VT框架) 1.VT技术介绍 1.技术介绍 1.VT技术 VT技术是Intel提供的虚拟化技术,全称为Intel Virtualization Technology。它是一套硬件和软件的解决方案,旨在增强虚拟化环境的性能、可靠性和安全性。VT技术允许在一台物理计算机上同时运…

WebSocket 接口测试:打通前端与后端的通信之路!

什么是 WebSocket? WebSocket 是一种基于在单个 TCP 连接上进行全双工通信的协议,解决了HTTP协议不适用于实时通信的缺点,相较于 HTTP 协议,WebSocket 协议实现了持久化网络通信,可以实现客户端和服务端的长连接,能够…

微信小程序——给按钮添加点击音效

今天来讲解一下如何给微信小程序的按钮添加点击音效 注意&#xff1a;这里的按钮不一定只是 <button>&#xff0c;也可以是一张图片&#xff0c;其实只是添加一个监听点击事件的函数而已 首先来看下按钮的定义 <button bind:tap"onInput" >点我有音效&…

xxl-job适配postgresql数据库

xxl-job支持了mysql数据库&#xff0c;其他的数据库适配得自己弄一下&#xff0c;下面以目前最新的2.4.1为例进行说明适配postgresql数据库的过程。 获取源代码 从github或gitee获取源代码&#xff0c;目前最新版本2.4.1 xxl官网&#xff1a;分布式任务调度平台XXL-JOB 建立…

OpenCvSharpSlim画中文

github地址&#xff1a;https://github.com/AvenSun/OpenCvSharpSlim Slim Build of OpenCvSharp OpenCvSharpSlim This project provides the slim build of OpenCvSharp native library . Currently therere binary packages for OpenCvSharp 2.4.10, 3.4.20 ,4.8.0 and 4…

关键词挖掘软件-免费批量挖掘关键词的工具

在当今数字化时代&#xff0c;网站的曝光和排名对于吸引流量至关重要。而在这个大数据的背后&#xff0c;SEO&#xff08;Search Engine Optimization&#xff0c;搜索引擎优化&#xff09;成为许多网站主和创作者们追逐的关键。在SEO的世界里&#xff0c;关键词的选择和优化是…

数据结构与算法之美学习笔记:28 | 堆和堆排序:为什么说堆排序没有快速排序快?

目录 前言如何理解“堆”&#xff1f;如何实现一个堆&#xff1f;1. 往堆中插入一个元素2. 删除堆顶元素 如何基于堆实现排序&#xff1f;1. 建堆2. 排序 解答开篇内容小结 前言 本节课程思维导图&#xff1a; 我们今天讲另外一种特殊的树&#xff0c;“堆”&#xff08;Heap&…

电脑IP地址怎么修改?http代理ip设置方法有哪些?

在互联网时代&#xff0c;我们的网络已经成为我们生活、工作和学习中不可或缺的一部分。有时候&#xff0c;为了保护我们的隐私或者突破网络限制&#xff0c;我们需要修改电脑的IP地址。那么&#xff0c;电脑IP地址怎么修改呢&#xff1f;http代理ip设置方法有哪些呢&#xff1…

在JS中,手动添加标签

纯个人笔记 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthdevice-width, …

前端:实现二级菜单(二级菜单悬浮在一级菜单左侧)

效果 代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthdevice-width, i…

正向和反向代理区别

文章目录 正向代理反向代理二者区别参考 正向代理 正向代理就是一个位于客户端和目标服务器之间的服务器&#xff0c;之间的这个服务器就是代理服务器 客户端为了从目标服务器获取内容&#xff0c;但是客户端由于限制无法直接访问到目标服务器&#xff0c;那么客户端就可以向…

VMware Workstation 无法连接到虚拟机问题排查(一)

文章目录 VMware Workstation无法连接到虚拟机问题排查1. 问题概述2. 排查思路3. 问题修改4. 总结 VMware Workstation无法连接到虚拟机问题排查 近期在使用新电脑安装VMware Workstation&#xff0c;启动虚拟机实例的时候出现失败&#xff0c;提示为:“VMware Workstation 无…

高性价比的挂耳式蓝牙耳机有哪些?学生党必入的几款蓝牙耳机推荐

在快节奏的现代生活中&#xff0c;蓝牙耳机已经成为了许多人不可或缺的伙伴&#xff0c;而对于预算有限的学生党来说&#xff0c;一副高性价比的挂耳式蓝牙耳机无疑是最理想的选择之一。本文将围绕这一主题&#xff0c;为大家推荐几款价格亲民、性能出色的挂耳式蓝牙耳机&#…

汉威科技亮相北京链博会:感知驱动,智链出行

11月28日&#xff0c;首届中国国际供应链促进博览会在北京中国国际展览中心&#xff08;顺义馆&#xff09;举办&#xff0c;该展会是全球首个以供应链为主题的国家级展会&#xff0c;设置智能汽车链、绿色农业链、清洁能源链、数字科技链、健康生活链5大链条和供应链服务展区&…

JRT实现缓存协议

上一篇介绍的借助ORM的增、删、改和DolerGet方法&#xff0c;ORM可以很精准的知道热点数据做内存缓存。那么就有一个问题存在&#xff0c;即部署了多个站点时候&#xff0c;如果用户在一个Web里修改数据了&#xff0c;那么其他Web的ORM是不知道这个变化的&#xff0c;其他Web还…

强基固本,红海云数字化重塑提升国企干部管理能力

国有企业的干部管理体系建设具有重要的战略意义&#xff0c;对于构建高素质专业化的干部队伍&#xff0c;推动企业高质量发展至关重要。特别是在党的二十大以后&#xff0c;建设中国特色现代企业制度&#xff0c;在完善公司治理中加强党的领导&#xff0c;加强党管干部党管人才…