一文读懂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是一个强大的版本控制系统,它可以帮助您跟踪项目的变化、合并代码以及与团队成员协作。在本文中,我们将为您提供一步步的指南,教…...
数据库的增量备份与差异备份
在当今数字时代,数据已经成为公司的主要资产。为了维护这些珍贵的数据,公司通常会采取各种数据保护措施,其中增量备份是一种很有效的方法。本文将详细介绍什么是数据库的增量备份,以及如何帮助企业更有效地维护数据。 我们需要…...
eNSP-Cloud(实现本地电脑与eNSP内设备之间通信)
说明: 想象一下,你正在用eNSP搭建一个虚拟的网络世界,里面有虚拟的路由器、交换机、电脑(PC)等等。这些设备都在你的电脑里面“运行”,它们之间可以互相通信,就像一个封闭的小王国。 但是&#…...
【Python】 -- 趣味代码 - 小恐龙游戏
文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...
Qt/C++开发监控GB28181系统/取流协议/同时支持udp/tcp被动/tcp主动
一、前言说明 在2011版本的gb28181协议中,拉取视频流只要求udp方式,从2016开始要求新增支持tcp被动和tcp主动两种方式,udp理论上会丢包的,所以实际使用过程可能会出现画面花屏的情况,而tcp肯定不丢包,起码…...
练习(含atoi的模拟实现,自定义类型等练习)
一、结构体大小的计算及位段 (结构体大小计算及位段 详解请看:自定义类型:结构体进阶-CSDN博客) 1.在32位系统环境,编译选项为4字节对齐,那么sizeof(A)和sizeof(B)是多少? #pragma pack(4)st…...
DAY 47
三、通道注意力 3.1 通道注意力的定义 # 新增:通道注意力模块(SE模块) class ChannelAttention(nn.Module):"""通道注意力模块(Squeeze-and-Excitation)"""def __init__(self, in_channels, reduction_rat…...
STM32F4基本定时器使用和原理详解
STM32F4基本定时器使用和原理详解 前言如何确定定时器挂载在哪条时钟线上配置及使用方法参数配置PrescalerCounter ModeCounter Periodauto-reload preloadTrigger Event Selection 中断配置生成的代码及使用方法初始化代码基本定时器触发DCA或者ADC的代码讲解中断代码定时启动…...
在Ubuntu中设置开机自动运行(sudo)指令的指南
在Ubuntu系统中,有时需要在系统启动时自动执行某些命令,特别是需要 sudo权限的指令。为了实现这一功能,可以使用多种方法,包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法,并提供…...
Neo4j 集群管理:原理、技术与最佳实践深度解析
Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...
RSS 2025|从说明书学习复杂机器人操作任务:NUS邵林团队提出全新机器人装配技能学习框架Manual2Skill
视觉语言模型(Vision-Language Models, VLMs),为真实环境中的机器人操作任务提供了极具潜力的解决方案。 尽管 VLMs 取得了显著进展,机器人仍难以胜任复杂的长时程任务(如家具装配),主要受限于人…...
第一篇:Liunx环境下搭建PaddlePaddle 3.0基础环境(Liunx Centos8.5安装Python3.10+pip3.10)
第一篇:Liunx环境下搭建PaddlePaddle 3.0基础环境(Liunx Centos8.5安装Python3.10pip3.10) 一:前言二:安装编译依赖二:安装Python3.10三:安装PIP3.10四:安装Paddlepaddle基础框架4.1…...
