Redis学习---04

news2024/11/24 9:46:44

一、Redis.conf配置文件

(1) units:对于大小写不敏感

导入

 绑定ip和端口:

(2) 通用:

以守护进程开启,默认为no

 进程文件:

日志:

 

数据库的数量:是16个

 是否显示logo:

(3) 快照:(RDB持久化方式)

 持久化出错是否还继续工作:

 是否压缩rdb文件:

 保存rdb文件进行错误校验:

 rdb保存文件的目录:

(4) 安全:

给redis加密码:

config set  requirepass:

config get requirepass:

 客户端设置:

 最大内存设置:

内存满了之后的处理策略:

 (5) AOF持久化方式:

 默认不开始AOF:

持久化文件的名字:

 执行同步:

二、Redis(Redis DataBase)持久化 ,Redis是内存数据库,断电即失。

(1) 持久化之RDB (Redis默认是RDB的方式)

RDB 方式,是将 redis 某一时刻的数据持久化到磁盘中,是一种快照式的持久化方法。

redis 在进行数据持久化的过程中,会先将数据写入到一个临时文件中,待持久化过程都结束了,才会用这个临时文件替换上次持久化好的文件。正是这种特性,让我们可以随时来进行备份,因为快照文件总是完整可用的。备份后会生成一个dump.rdb文件。

对于 RDB 方式,redis 会单独创建(fork)一个子进程来进行持久化,而主进程是不会进行任何 IO 操作的,这样就确保了 redis 极高的性能。

优点:适合大规模数据的恢复;对数据的完整性要求不高

缺点:最后一次持久化如果宕机了,就会丢失数据。

(2) 持久化之 AOF (以追加的方式来)

1) 原理:AOF 方式是将执行过的写指令记录下来,在数据恢复时按照从前到后的顺序再将指令都执行一遍,就这么简单。

如果在追加日志时,恰好遇到磁盘空间满、inode 满或断电等情况导致日志写入不完整,也没有关系,redis 提供了 redis-check-aof 工具,可以用来进行日志修复。

因为采用了追加方式,如果不做任何处理的话,AOF 文件会变得越来越大,为此,redis 提供了 AOF 文件重写(rewrite)机制,即当 AOF 文件的大小超过所设定的阈值时,redis 就会启动 AOF 文件的内容压缩,只保留可以恢复数据的最小指令集。举个例子或许更形象,假如我们调用了 100 次 INCR 指令,在 AOF 文件中就要存储 100 条指令,但这明显是很低效的,完全可以把这 100 条指令合并成一条 SET 指令,这就是重写机制的原理。

虽然优点多,但 AOF 方式也同样存在缺陷,比如在同样数据规模的情况下,AOF 文件要比 RDB 文件的体积大。而且,AOF 方式的恢复速度也要慢于 RDB 方式。1

2) AOF重写:(rewrite) 如果文件大小大于64M就会重写,将AOF文件之间的文件进行压缩;

在重写即将开始之际,redis 会创建(fork)一个“重写子进程”,这个子进程会首先读取现有的 AOF 文件,并将其包含的指令进行分析压缩并写入到一个临时文件中。

与此同时,主工作进程会将新接收到的写指令一边累积到内存缓冲区中,一边继续写入到原有的 AOF 文件中,这样做是保证原有的 AOF 文件的可用性,避免在重写过程中出现意外。

当“重写子进程”完成重写工作后,它会给父进程发一个信号,父进程收到信号后就会将内存中缓存的写指令追加到新 AOF 文件中。

当追加结束后,redis 就会用新 AOF 文件来代替旧 AOF 文件,之后再有新的写指令,就都会追加到新的 AOF 文件中了。

3)缺点:运行效率、恢复速度、文件提及与rdb相比都差一些。

三、Redis发布订阅

Redis 发布/订阅是一种消息传模式,其中发送者(在Redis术语中称为发布者)发送消息,而接收者(订阅者)接收消息。传递消息的通道称为channel

(1) 原理

本质上通道是所有的消息发布者是一个字典,然后每个字典对应一个链表;所有订阅者都是存储在一个链表中。

(2) 命令:

命令描述
PSUBSCRIBE订阅一个或多个符合给定模式的频道。
PUBSUB查看订阅与发布系统状态。
PUBLISH将信息发送到指定的频道。
PUNSUBSCRIBE退订所有给定模式的频道。
SUBSCRIBE订阅给定的一个或多个频道的信息。
UNSUBSCRIBE指退订给定的频道。

(3) 订阅实例图:

客户端订阅消息:SUBSCRIBE xxx

 发布者通过通道发送信息: PUBLISH  xxxx

 (4):使用场景:

实时消息

事实聊天

订阅,关注系统

复杂的场景的话就要使用消息中间件:MQ、Kafka等。

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

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

相关文章

探究ChatGPT与GPT-4的缺陷不足,揭示大预言LLM模型的局限性——没有完美的工具

目录 ChatGPT与GPT-4的缺陷不足——任何工具都不是万能的1. 引言2. 事实性错误2.1 问题示例2.2 原因分析2.3 解决方法 3. 实时更新3.1 问题示例3.2 原因分析3.3 解决方法 4. 总结 参考资料其它资料下载 ChatGPT与GPT-4的缺陷不足——任何工具都不是万能的 1. 引言 2022 年末 C…

借助TeeChart 图表控件,这家公司轻松创建了可视化图表看板

TeeChart for .NET是优秀的工业4.0 WinForm图表控件,官方独家授权汉化,集功能全面、性能稳定、价格实惠等优势于一体。TeeChart for .NET 中文版还可让您在使用和学习上没有任何语言障碍,至少可以节省30%的开发时间。技术交流Qqun&#xff1a…

版本控制工具之Git使用文档

以下讨论基于gitlab系统作为代码仓库。 项目Git初始化 创建一个空的git库或者初始化一个旧有git仓库 git init 现有项目关联到远程仓库 git remote add origin git172.16.200.39:public-team/spring-learn.git 下载代码 git clone <仓库地址> 查看已关联远程仓库 …

脑的物理系统

⼤脑模块化 人脑是一个复杂的网络&#xff0c;一般将大脑划分为不同的区域&#xff08;即节点&#xff09;&#xff0c;并使用某种方法表征大脑区域之间的关系&#xff08;即连接的边&#xff09;来构建人脑网络。在功能磁共振成像&#xff08;fMRI&#xff09;数据的网络模型…

浪涌保护器:保护电子设备免受雷击侵害

引言&#xff1a; 随着电子设备在现代生活和工业领域的普及和广泛应用&#xff0c;雷击对电子设备的损害成为一个严重的问题。浪涌保护器作为一种重要的防雷设备&#xff0c;发挥着至关重要的作用。本文将介绍浪涌保护器的防雷作用、行业应用&#xff0c;并重点介绍浪涌保护器…

SPI接口协议详解

一、SPI总线简介 SPI总线是摩托罗拉公司开发的一种高速、全双工、同步的通信总线&#xff0c;它通常由四条线组成&#xff1a; CS 片选信号SCLK 时钟信号MOSI 主机输出从机输入接口MISO 主机输入从机输出接口 SPI分为主机和从机&#xff0c;主机提供通信所需的时钟信号。 二…

盘点那些让人笑疯了的520创意文案!

520&#xff0c;一场关于爱情和狗粮的龙卷风快来了&#xff1a; 玫瑰花&#xff0c;涨价了&#xff1b; 民政局&#xff0c;周末要加班&#xff1b; 肯德基&#xff0c;推出了萌宠玩具套餐&#xff1b; 很多人&#xff0c;站在风里等那没影儿的爱情。 今天原本计划是要写一…

【JAVA程序设计】(C00137)基于SSM(非maven)的校园BBS论坛系统

基于SSM&#xff08;非maven&#xff09;的校园BBS论坛系统 项目简介项目获取开发环境项目技术运行截图 项目简介 本项目为基于SSM的校园BBS论坛管理系统包含前后台&#xff0c;前台为普通用户登录&#xff0c;后台为管理员登录&#xff1b; 管理员角色包含以下功能&#xff1…

使用taro+canvas实现微信小程序的图片分享功能 | 京东云技术团队

业务场景 二轮充电业务中&#xff0c;用户充电完成后在订单详情页展示订单相关信息&#xff0c;用户点击分享按钮唤起微信小程序分享菜单&#xff0c;将生成的图片海报分享给微信好友或者下载到本地&#xff0c;好友可通过扫描海报中的二维码加群领取优惠。 使用场景及功能&a…

网站在腾讯云备案的要求条件说明

腾讯云网站备案要求首先你有一个需要备案的域名&#xff0c;域名实名认证信息和备案主体相同&#xff1b;在腾讯云有一台符合备案条件的云服务器、轻量应用服务器等云产品&#xff1b;然后根据备案主体所在省份地区&#xff0c;符合当地的通信管理局要求。下面腾讯云百科来详细…

相见恨晚的Matlab编程小技巧(4)-程序运行太慢了咋解决——合理使用循环语句(2)

上一篇博客介绍了通过向量化运算、预分配空间两种常用的方式提高代码的运行效率。实际上&#xff0c;matlab还有几种内置函数来避免循环语句的使用&#xff0c;分别为arrayfun、cellfun以及structfun函数。由于这几种函数需要用到匿名函数以及函数句柄的概念&#xff0c;很多人…

厚积薄发|迭代为什么叫冲刺?

上士闻道&#xff0c;勤而行之&#xff1b;中士闻道&#xff0c;若存若亡&#xff1b;下士闻道&#xff0c;大笑之。不笑不足以为道。–《道德经》 软件工程从原始的作坊式工作方式&#xff0c;经过了哪些思考、哪些方案的试探&#xff0c;才在不断地尝试与改善后&#xff0c;走…

E. Border(裴蜀定理)

Problem - E - Codeforces 太空人纳塔莎抵达了火星。她知道火星人非常贫穷。为了保障火星公民更好的生活&#xff0c;他们的皇帝决定向每个游客征收税费。纳塔莎是地球的居民&#xff0c;因此她必须支付进入火星领土所需的税费。 火星上有n种纸币面额&#xff1a;第i种纸币的面…

TTL、 RS-232,RS-485的区别

TTL、 RS-232&#xff0c;RS-485的区别 参考:【gt】TTL&#xff0c; RS-232&#xff0c;RS-485的区别 前言&#xff1a;串口、UART口、COM口、USB口是指的物理接口形式(硬件)。而TTL、RS-232、RS-485是指的电平标准(电信号)。 TTL &#xff1a;全双工 &#xff0c;逻辑0对应…

深度学习实战30-AIGC项目:自动生成思维导图文件,解放双手

大家好&#xff0c;我是微学AI&#xff0c;今天给大家介绍一下深度学习实战30-AIGC项目&#xff1a;自动生成思维导图文件&#xff0c;解放双手&#xff0c;思维导图是一种常见的工具&#xff0c;用于将复杂的信息和概念以图形化方式展示出来。AIGC项目旨在将这种思维导图的创建…

GNU C 语言的常用扩展

本文摘自《奔跑吧 Linux 内核&#xff08;第二版&#xff09;》2.2 Linux 内核中常用的 C 语言技巧 读到这本书的这一小节时&#xff0c;感觉其中不少技巧在项目中有遇到过&#xff0c;有必要做个笔记&#xff0c;方便以后查阅。 文章目录 前言1.语句表达式2.变长数组3. case 的…

Linux内核(十五)sysrq 详解 II —— 代码框架详解

文章目录 sysrq模块初始化流程图sysrq模块代码详解sysrq产生kernel crash事件流程sysrq 整体框架图sysrq 框架中添加自定义实例 Linux 版本&#xff1a;Linux version 3.18.24 sysrq模块初始化流程图 sysrq模块源码路径&#xff1a;linux-3.18.24.x/drivers/tty/sysrq.c 编译…

Unity3D :Animator Controller

推荐&#xff1a;将 NSDT场景编辑器 加入你的3D工具链 3D工具集&#xff1a; NSDT简石数字孪生 Animator Controller Animator Controller 允许您为角色或对象安排和维护一组动画剪辑以及关联的动画过渡。在大多数情况下&#xff0c;拥有多个动画并在满足某些游戏条件时在这些…

就业内推 | 国企专场,HCIE、CCIE认证优先,最高20k*15薪

01 银河互联网电视有限公司 &#x1f537;招聘岗位&#xff1a;网络运维工程师 &#x1f537;职责描述&#xff1a; 1、负责IDC网络方向的运维服务&#xff1b; 2、负责日常紧急变更&#xff0c;撰写上线变更方案等文档工作&#xff1b; 3、负责应急问题处理、控制变更风险&am…

CAN周期波动优化方法

摘要&#xff1a; 如果遇到报文周期偏大的问题该从何下手&#xff0c;或者说有哪些解决办法呢&#xff1f; 对于车载控制器来说&#xff0c;CAN周期的波动通常是有严格的标准&#xff0c;国标要求如下&#xff0c;基于国标&#xff0c;各个主机厂在这一块稍微有些差异&#xf…