一文读懂Redis配置,史上真香配置
文章目录
- 基本配置项
- AOF持久化配置项
- RDB持久化配置项
- 淘汰策略配置项
- 主从复制配置项
- 鸣谢
让那些总为redis连接异常的小白指引明灯,少走弯路。为那些不知道如何进行高级配置的大佬整一杯小酒。
基本配置项
-
bind:用于设置Redis绑定的IP地址。默认情况下,Redis监听所有可用的接口,如果需要指定IP地址,可以使用此配置项进行设置。
默认开启,连接不上的原因之一,未注释掉只能进行本地连接,不能使用工具和远程连接
-
port:用于设置Redis监听的端口号。默认端口为6379。
连接不上的可能原因之一,端口号被改掉了。当然防火墙也是重点连接不上的原因(腾讯、阿里、宝塔。。。),记得开放端口哦,要不然连不上
-
timeout:用于设置Redis客户端连接的超时时间。如果客户端在指定的时间内没有与Redis建立连接,则会被关闭连接。
-
maxclients:用于限制同时连接到Redis的客户端数量。当客户端数量达到限制时,Redis将不再接受新的连接。
-
loglevel:用于设置Redis的日志级别。可以根据需要进行设置,例如设置为debug、info、notice、warning等不同的级别。
-
logfile:用于设置Redis日志文件的路径。默认情况下,Redis会将日志输出到标准输出。
-
databases:用于设置Redis数据库的数量以及各自的名称。默认情况下,只有一个数据库,其名称为“db0”。
默认16,db分区数量。代码不配置默认连接的是db0
-
requirepass:用于设置Redis的身份验证密码。
默认无密码,这也是连接不上的原因之一,密码验证被开启了。
-
notify-keyspace-events Ex :
key过期监听启用配置项
AOF持久化配置项
Redis的AOF(Append-Only File)持久化机制是通过记录所有对Redis数据库的写操作来达到持久化的目的。当Redis服务器重启时,会通过重新执行AOF文件中的命令来恢复数据。
- appendonly:用于开启或关闭AOF持久化。如果设置为"yes",则开启AOF持久化;如果设置为"no",则关闭AOF持久化。
- appendfilename:用于设置AOF文件的名称。默认值为"appendonly.aof"。
- appendfsync:用于设置AOF文件的同步策略。可以选择"always"、“everysec"或"no”。always表示每次写入都同步,everysec表示每秒同步一次,no表示由操作系统决定何时同步。默认值为"everysec"。
- auto-aof-rewrite-percentage:用于设置自动AOF重写的阈值。当AOF文件的扩展比例超过该值时,Redis会自动执行重写操作。默认值为100,表示当AOF文件的大小是上一次重写后大小的一倍时触发重写。
- auto-aof-rewrite-min-size:用于设置自动AOF重写的最小大小。只有在AOF文件的大小大于该值时,才会执行重写操作。默认值为64MB。
- no-appendfsync-on-rewrite:用于设置在执行AOF文件重写时是否禁用同步。如果设置为"yes",则在进行重写时不会进行同步操作。默认值为"yes"。
- aof-load-truncated:用于设置在加载AOF文件时是否允许Redis忽略出现错误的命令。如果设置为"yes",则忽略错误;如果设置为"no",则不允许加载出现错误的AOF文件。默认值为"yes"。
- aof-use-rdb-preamble:用于设置AOF文件的开头是否包含RDB格式的部分。如果设置为"yes",则在AOF文件的开头会先保存一份RDB格式的数据,这有助于加速数据加载。默认值为"no"。
RDB持久化配置项
Redis的RDB(Remote Dictionary Base)持久化机制是通过将Redis数据库的某个时间点的状态以二进制格式保存到磁盘上的方式来实现持久化。当Redis服务器需要恢复数据时,可以通过加载RDB文件来恢复数据。
- save:用于设置RDB持久化的时间间隔和条件。可以设置不同的时间间隔和条件组合,例如"save 900 1"表示每900秒内有至少1个写操作就保存一次RDB文件;"save 300 10"表示每300秒内有至少10个写操作就保存一次RDB文件。
- bgsave:用于设置以后台方式执行RDB持久化。如果设置为"yes",则以后台方式执行RDB持久化,不会阻塞主线程。
- rdbcompression:用于设置RDB文件是否使用压缩。如果设置为"yes",则使用LZF算法进行压缩。
- rdbchecksum:用于设置RDB文件是否使用校验和。如果设置为"yes",则添加校验和到RDB文件中。
- dbfilename:用于设置RDB文件的名称。
- dir:用于设置RDB文件的存储目录。
淘汰策略配置项
Redis提供了多种淘汰策略配置项,用于配置在内存不足时如何淘汰掉不需要的数据。
- maxmemory-policy:用于设置Redis的最大内存使用策略。可以选择不同的策略,例如"noeviction"、“lru”、“allkeys-lru”、“volatile-lru”、“allkeys-random”、“volatile-random"或"volatile-ttl”。
- volatile-ttl:用于设置Redis在淘汰数据时,是否只淘汰带有过期时间的键。如果设置为"yes",则只会淘汰带有过期时间的键;如果设置为"no",则可能会淘汰带有过期时间的键以及不带过期时间的键。
- volatile-lru:用于设置Redis在淘汰数据时,是否只淘汰带有过期时间的键并使用LRU算法。如果设置为"yes",则只会淘汰带有过期时间的键并使用LRU算法;如果设置为"no",则可能会淘汰带有过期时间的键以及不带过期时间的键。
- volatile-random:用于设置Redis在淘汰数据时,是否只淘汰带有过期时间的键并随机选择要淘汰的键。如果设置为"yes",则只会淘汰带有过期时间的键并随机选择要淘汰的键;如果设置为"no",则可能会淘汰带有过期时间的键以及不带过期时间的键。
- allkeys-lru:用于设置Redis在淘汰数据时,是否使用LRU算法淘汰所有的键。如果设置为"yes",则使用LRU算法淘汰所有的键;如果设置为"no",则可能会淘汰带有过期时间的键以及不带过期时间的键。
- allkeys-random:用于设置Redis在淘汰数据时,是否随机选择要淘汰的键。如果设置为"yes",则随机选择要淘汰的键;如果设置为"no",则不会淘汰任何键。
- noeviction:用于设置Redis在内存不足时禁止淘汰任何键。如果设置为"yes",则禁止淘汰任何键;如果设置为"no",则根据上述策略进行淘汰。
主从复制配置项
Redis支持主从复制,可以实现数据的高可用性和读写分离。=
- replication-role:用于设置Redis节点的角色。如果节点是主节点,则设置为"master";如果节点是从节点,则设置为"slave"。
- master-host:用于设置主节点的IP地址。
- master-port:用于设置主节点的端口号。
- master-auth-password:用于设置主节点的身份验证密码。
- slave-announce:用于设置是否宣告从节点。如果设置为"yes",则宣告从节点;如果设置为"no",则不宣告从节点。
- slave-read-only:用于设置从节点是否只读。如果设置为"yes",则从节点只读;如果设置为"no",则从节点可写。
- slave-priority:用于设置从节点的优先级。优先级越高的从节点越有可能被选为主节点。
- replica-read-only:用于设置从节点是否只读。如果设置为"yes",则从节点只读;如果设置为"no",则从节点可写。这个配置项比slave-read-only更具体,优先级更高。
- replica-priority:用于设置从节点的优先级。优先级越高的从节点越有可能被选为主节点。
- replica-announce:用于设置是否宣告从节点。如果设置为"yes",则宣告从节点;如果设置为"no",则不宣告从节点。这个配置项比slave-announce更具体,优先级更高。
鸣谢
- 非常感谢你从头到尾阅读了这篇文章,希望其中的内容对你有所启发和帮助。如果你还有其他问题或需要进一步的了解,欢迎随时关注我的动态并留言
- 最后可以给作者点个关注和小赞赞嘛,谢谢!
- 觉得有收藏价值可以进行收藏
相关文章:
一文读懂Redis配置,史上真香配置
文章目录 基本配置项AOF持久化配置项RDB持久化配置项淘汰策略配置项主从复制配置项鸣谢 让那些总为redis连接异常的小白指引明灯,少走弯路。为那些不知道如何进行高级配置的大佬整一杯小酒。 基本配置项 bind:用于设置Redis绑定的IP地址。默认情况下&…...

maven打出jar中动态替换占位符
使用场景: maven打出的jar中pom.xml动态替换占位符 有些时候某些公共工具jar包被项目引用后发现公共jar的pom.xml中的version依然还是占位符,例如下面 <dependency><groupId>org.projectlombok</groupId><artifactId>lombok<…...
【Git游戏】通过游戏重新学习Git
在提交树上移动 HEAD HEAD:一个标志符号(通常情况下指向当前分支,间接指向当前最新的提交记录) 可以通过git checkout commitID从而指向提交记录 commitID 本身是一串哈希值(基于 SHA-1,共 40 位) 我们在…...
如何通过以太坊JSON-RPC方式获取ERC-20代币的信息?
目录 一、ERC-20介绍 二、ERC-20代币标准功能 1、可选功能 2、标准功能 三、获取代币信息...

线性代数的学习和整理4: 求逆矩阵的多种方法汇总
目录 原始问题:如何求逆矩阵? 1 EXCEL里,直接可以用黑盒表内公式 minverse() 数组公式求A- 2 非线性代数方法:解方程组的方法 3 增广矩阵的方法 4 用行列式的方法计算(未验证) 5 A-1/|A|*A* &…...

【C#学习笔记】匿名函数和lambda表达式
文章目录 匿名函数匿名函数的定义匿名函数作为参数传递匿名函数的缺点 lambda表达式什么是lambda表达式闭包 匿名函数 为什么我们要使用匿名函数?匿名函数存在的意义是为了简化一些函数的定义,特别是那些定义了之后只会被调用一次的函数,与其…...
百度Apollo:引领自动驾驶技术创新的先锋
文章目录 前言一、内容总结 前言 大家好,我是萝卜头不吃萝卜头,今天和大家分享一下我学习百度Apollo自动驾驶的心得。 在七月份的时候,我收到了Apollo开发者社区的邀请,进行学习Apollo自动驾驶汽车的2023星火培训训练,…...

Redis 重写 AOF 日志期间,主进程可以正常处理命令吗?
重写 AOF 日志的过程是怎样的? Redis 的重写 AOF 过程是由后台子进程 bgrewriteaof 来完成的,这么做有以下两个好处。 子进程进行 AOF 重写期间,主进程可以继续处理命令请求,从而避免阻塞主进程子进程带有主进程的数据副本。这里…...

java实现生成RSA公私钥、SHA256withRSA加密以及验证工具类
前言: RSA属于非对称加密。所谓非对称加密,需要两个密钥:公钥 (publickey) 和私钥 (privatekey)。公钥和私钥是一对,如果用公钥对数据加密,那么只能用对应的私钥解密。如果用私钥对数据加密,只能用对应的公…...

lab7 thread
文章目录 Uthread: switching between threadstaskhints思路上下文的恢复和保存thread_createthread_schedule Using threads思路 Barrier Uthread: switching between threads 在这个练习中,你将为一个用户级别线程系统设计上下文切换机制,并实现它。 …...

接口自动化测试:mock server之Moco工具
什么是mock server mock:英文可以翻译为模仿的,mock server是我们用来解除依赖(耦合),假装实现的技术,比如说,前端需要使用某些api进行调试,但是服务端并没有开发完成这些api&#…...

用python从零开始做一个最简单的小说爬虫带GUI界面(2/3)
目录 前一章博客 前言 主函数的代码实现 逐行代码解析 获取链接 获取标题 获取网页源代码 获取各个文章的链接 函数的代码 导入库文件 获取文章的标题 获取文章的源代码 提取文章目录的各个文章的链接 总代码 下一章内容 前一章博客 用python从零开始做一个最简单…...
CEF 缓存处理:清理缓存、禁用缓存、忽略缓存
目录 一、CEF缓存处理 1、指定缓存路径 2、清理缓存 3、禁用缓存 1)、原理分析...

Android 系统桌面 App —— Launcher 开发(1)
Android 系统桌面 App —— Launcher 开发(1) Launcher简介 Launcher就是Android系统的桌面,俗称“HomeScreen”也就是我们开机后看到的第一个App。launcher其实就是一个app,它的作用是显示和管理手机上其他App。目前市场上有很…...

一个程序员的工作日记--每天就干两件事,一年后让别人刮目相看
文章目录 成功源于专注一、早上布局二、晚上复盘三、技术细节四、专注与成功五、专注的重要性六、忙碌和赚钱七、结论以嵌入式开发为例:一、早上布局二、晚上复盘三、技术细节四、专注与成功五、忙碌和赚钱六、结论在嵌入式软件开发中,我们需要按照以下步…...

Linux虚拟机安装(Ubuntu 20)
最近这段时间使用VMWare安装了一下Ubuntu版本的Linux虚拟机,在这里记录一下安装时参考的文章以及需要注意的细节 参考链接: VMware虚拟机下安装Ubuntu20.04(保姆级教程) 一、安装VMWare 下载链接:VMware Workstatio…...

1.6 服务器处理客户端请求
客户端进程向服务器进程发送一段文本(MySQL语句),服务器进程处理后再向客户端进程发送一段文本(处理结果)。 从图中我们可以看出,服务器程序处理来自客户端的查询请求大致需要经过三个部分,分别…...

火山引擎发布自研视频编解码芯片 压缩效率提升30%
8月22日,火山引擎视频云宣布其自研的视频编解码芯片已成功出片。经验证,该芯片的视频压缩效率相比行业主流硬件编码器可提升30%以上,未来将服务于抖音、西瓜视频等视频业务,并将通过火山引擎视频云开放给企业客户。 火山引擎总裁…...

从头开始:将新项目上传至Git仓库的简易指南
无论您是一个经验丰富的开发者还是一个刚刚起步的新手,使用Git来管理您的项目是一个明智的选择。Git是一个强大的版本控制系统,它可以帮助您跟踪项目的变化、合并代码以及与团队成员协作。在本文中,我们将为您提供一步步的指南,教…...

数据库的增量备份与差异备份
在当今数字时代,数据已经成为公司的主要资产。为了维护这些珍贵的数据,公司通常会采取各种数据保护措施,其中增量备份是一种很有效的方法。本文将详细介绍什么是数据库的增量备份,以及如何帮助企业更有效地维护数据。 我们需要…...
利用ngx_stream_return_module构建简易 TCP/UDP 响应网关
一、模块概述 ngx_stream_return_module 提供了一个极简的指令: return <value>;在收到客户端连接后,立即将 <value> 写回并关闭连接。<value> 支持内嵌文本和内置变量(如 $time_iso8601、$remote_addr 等)&a…...
java调用dll出现unsatisfiedLinkError以及JNA和JNI的区别
UnsatisfiedLinkError 在对接硬件设备中,我们会遇到使用 java 调用 dll文件 的情况,此时大概率出现UnsatisfiedLinkError链接错误,原因可能有如下几种 类名错误包名错误方法名参数错误使用 JNI 协议调用,结果 dll 未实现 JNI 协…...
TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案
一、TRS收益互换的本质与业务逻辑 (一)概念解析 TRS(Total Return Swap)收益互换是一种金融衍生工具,指交易双方约定在未来一定期限内,基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...

SpringCloudGateway 自定义局部过滤器
场景: 将所有请求转化为同一路径请求(方便穿网配置)在请求头内标识原来路径,然后在将请求分发给不同服务 AllToOneGatewayFilterFactory import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; impor…...

Mac下Android Studio扫描根目录卡死问题记录
环境信息 操作系统: macOS 15.5 (Apple M2芯片)Android Studio版本: Meerkat Feature Drop | 2024.3.2 Patch 1 (Build #AI-243.26053.27.2432.13536105, 2025年5月22日构建) 问题现象 在项目开发过程中,提示一个依赖外部头文件的cpp源文件需要同步,点…...

回溯算法学习
一、电话号码的字母组合 import java.util.ArrayList; import java.util.List;import javax.management.loading.PrivateClassLoader;public class letterCombinations {private static final String[] KEYPAD {"", //0"", //1"abc", //2"…...

android RelativeLayout布局
<?xml version"1.0" encoding"utf-8"?> <RelativeLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"android:layout_height"match_parent"android:gravity&…...
土建施工员考试:建筑施工技术重点知识有哪些?
《管理实务》是土建施工员考试中侧重实操应用与管理能力的科目,核心考查施工组织、质量安全、进度成本等现场管理要点。以下是结合考试大纲与高频考点整理的重点内容,附学习方向和应试技巧: 一、施工组织与进度管理 核心目标: 规…...

goreplay
1.github地址 https://github.com/buger/goreplay 2.简单介绍 GoReplay 是一个开源的网络监控工具,可以记录用户的实时流量并将其用于镜像、负载测试、监控和详细分析。 3.出现背景 随着应用程序的增长,测试它所需的工作量也会呈指数级增长。GoRepl…...
2.2.2 ASPICE的需求分析
ASPICE的需求分析是汽车软件开发过程中至关重要的一环,它涉及到对需求进行详细分析、验证和确认,以确保软件产品能够满足客户和用户的需求。在ASPICE中,需求分析的关键步骤包括: 需求细化:将从需求收集阶段获得的高层需…...