Redis(配置文件属性解析)

一、tcp-backlog深度解析

在这里插入图片描述
在这里插入图片描述
tcp-backlog是一个TCP连接的队列,主要用于解决高并发场景下客户端慢连接问题。配置文件中的“511”就是队列的长度,对联与TCP的三次握手有关,不同的linux内核,backlog队列中存放的元素(客户端连接)类型是不同的。
linux内核2.2版本之前:队列中存放的是已完成第一次握手的所有客户端连接。
linux内核2.2版本之后:TCP系统中维护了两个队列。一个存放未完成三次握手的队列,一个存放已完成三次握手的队列。
在这里插入图片描述
TCP中的backlog队列的长度由linux内核参数somaxcon(下图中的查看结果为128)和redis配置文件共同决定,取它们中的最小值。
在这里插入图片描述
生产环境下(特别是高并发场景下)backlog的值要高一些,否则会影响系统性能。
修改backlog:
在这里插入图片描述
在这里插入图片描述
让linux内核重新加载配置文件内容(也可以重启虚拟机,但生产环境不适用):

sysctl -p

在这里插入图片描述

二、general模块详解

2.1 pidfile(记录redis服务pid的文件)

还是查看配置文件:
在这里插入图片描述
在这里插入图片描述
启动redis服务可以看到生成对应的pidfile:
在这里插入图片描述
查看pidfile:
在这里插入图片描述
查看pidfile的内容:
在这里插入图片描述
如果没有配置pid文件,不同的启动方式,pid文件的产生效果是不同的。采用守护进程方式启动(后台启动,daemonize为yes),pid文件为/run/redis_6739.pid。采用前台启动方式(daemonize为no),不生成pid文件。

2.2 loglevel日志级别与logfile日志文件

2.2.1 loglevel

有四个级别(信息量越来越少):
debug、verbose、notice、warning。
在这里插入图片描述
在这里插入图片描述

2.2.2 logfile

在这里插入图片描述
若是设为"“且daemonize为no则打印到控制台(标准输出);若是设为”"且daemonize为yes则打印到/dev/null(文件类型为c即设备)。
也可以修改为特定目录:
在这里插入图片描述
重启服务:
在这里插入图片描述
可以看到对应目录下生成了日志文件:
在这里插入图片描述

三、maxclients属性深度解析

在这里插入图片描述
maxclients用于设置redis可并发处理的客户端连接数量,默认值为10000.如果达到最大连接数,则会拒绝再来的新连接,并返回一个异常信息。
也与Linux里的配置信息有关(不能超过linux系统支持的可打开的文件描述符的最大数量阈值,可通过/etc/security/limit.conf修改),这里就不多解释了。

四、memory management

4.1 maxmemory

将内存使用限制为指定的字节数(防止redis占用全部内存)。当redis进程达到内存上限事,根据指定的逐出策略maxmemory-policy尝试删除符合条件的key。如果不能按照逐出策略移除key,则会给写操作命令返回error。

4.2 maxmemory-policy

逐出策略

4.3 maxmemory-sample

4.4 maxmemory-eviction-tenacity

移除容忍度,选出要移除的key的延迟时间。

五、io-threads多线程配置

在这里插入图片描述
默认情况下关闭,若机器有多个内核可以开启。
在这里插入图片描述
线程数量需要设置成小于内核数量(至少减1)。

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

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

相关文章

24.12.02 Element

import { createApp } from vue // 引入elementPlus js库 css库 import ElementPlus from element-plus import element-plus/dist/index.css //中文语言包 import zhCn from element-plus/es/locale/lang/zh-cn //图标库 import * as ElementPlusIconsVue from element-plus/i…

mybatis-plus 对于属性为null字段不更新

MyBatis-Plus 默认情况下会根据字段的值是否为 null 来决定是否生成对应的 UPDATE 语句。这是由 更新策略 决定的,默认的行为是 忽略 null 值,即如果字段值为 null,该字段将不会出现在 UPDATE 语句中。 默认行为分析 MyBatis-Plus 默认的 Fi…

C++小问题

怎么分辨const修饰的是谁 是限定谁不能被改变的? 在C中,const关键字的用途和位置非常关键,它决定了谁不能被修改。const可以修饰变量、指针、引用等不同的对象,并且具体的作用取决于const的修饰位置。理解const的规则能够帮助我们…

在线家具商城基于 SpringBoot:设计模式与实现方法探究

第3章 系统分析 用户的需求以及与本系统相似的在市场上存在的其它系统可以作为系统分析中参考的资料,分析人员可以根据这些信息确定出本系统具备的功能,分析出本系统具备的性能等内容。 3.1可行性分析 尽管系统是根据用户的要求进行制作,但是…

TS问题之class

类 派生类包含了一个构造函数,它 必须调用 super(),它会执行基类的构造函数。 而且,在构造函数里访问 this的属性之前,我们 一定要调用 super()。 这个是TypeScript强制执行的一条重要规则。public 在TypeScript里,成…

TongRDS分布式内存数据缓存中间件

命令 优势 支持高达10亿级的数据缓冲,内存优化管理,避免GC性能劣化。 高并发系统设计,可充分利用多CPU资源实现并行处理。 数据采用key-value多索引方式存储,字段类型和长度可配置。 支持多台服务并行运行,服务之间可互…

项目整合logback日志打印线程id

项目打印日志能帮助我们解决很多的问题&#xff0c;提示我们出现的问题&#xff0c;通过日志我们可以准确的定位问题快速找到问题点解决问题。 <?xml version"1.0" encoding"UTF-8"?> <!-- 日志级别从低到高分为TRACE < DEBUG < INFO &l…

Flutter-Web打包后上线白屏

问题描述 Flutter上线后进行测试发现界面白屏&#xff0c;打开开发者模式查看网络发现加载main.js文件404 问题原因 我上线的地址是https://xxx:8091/homedots,但是我打包后的index文件中的baseUrl是"/",将地址改成”/homedots/"&#xff0c;注意homedots后面…

算法训练营day22(二叉树08:二叉搜索树的最近公共祖先,插入,删除)

第六章 二叉树part08 今日内容&#xff1a; ● 235. 二叉搜索树的最近公共祖先 ● 701.二叉搜索树中的插入操作 ● 450.删除二叉搜索树中的节点 详细布置 235. 二叉搜索树的最近公共祖先 相对于 二叉树的最近公共祖先 本题就简单一些了&#xff0c;因为 可以利用二叉搜索树的…

Rust循环引用与多线程并发

循环引用与自引用 循环引用的概念 循环引用指的是两个或多个对象之间相互持有对方的引用。在 Rust 中&#xff0c;由于所有权和生命周期的严格约束&#xff0c;直接创建循环引用通常会导致编译失败。例如&#xff1a; // 错误的循环引用示例 struct Node {next: Option<B…

ambari metrics单机模式改成集群模式

最近碰到了ambari平台ambari metrics相关的lib较大&#xff0c;导致系统盘使用率较高。今天对这个组件进行转移到其他磁盘使用率低的服务器上&#xff0c;在安装好metrice collector组件后&#xff0c;发现启动时一直报如下错误。 通过报错可以定位到&#xff0c;该组件的模式是…

前端 递归优化

在前端开发中&#xff0c;递归是一种常见的编程技巧&#xff0c;但它也可能带来性能问题&#xff0c;特别是当递归深度很深或递归调用非常频繁时。以下是一些优化递归的方法&#xff1a; 1. 尾递归优化 尾递归是指递归调用是函数中的最后一个操作&#xff0c;没有额外的计算。…

Python 面向对象编程详解

Python 面向对象编程详解 面向对象编程&#xff08;OOP&#xff09;是一种编程范式&#xff0c;它使用“对象”来设计软件。在 Python 中&#xff0c;面向对象编程非常强大&#xff0c;允许开发者通过类&#xff08;class&#xff09;和对象&#xff08;object&#xff09;来模…

langchain实现基于sql的问答

1. 数据准备 import requestsurl "https://storage.googleapis.com/benchmarks-artifacts/chinook/Chinook.db"response requests.get(url)if response.status_code 200:# Open a local file in binary write modewith open("Chinook.db", "wb&qu…

pip更换国内源,加速Python包下载(附2024年12月最新国内镜像源列表)

pip是什么 pip 是 Python 包管理工具&#xff0c;它允许用户从 Python 包索引&#xff08;PyPI&#xff09;安装和管理软件包。pip 是 Python 的官方包安装程序&#xff0c;它提供了一个命令行界面&#xff0c;用户可以通过它来安装、卸载、查看和管理 Python 包。以下是 pip …

安全关系型数据库查询新选择:Rust 语言的 rust-query 库深度解析

在当今这个数据驱动的时代&#xff0c;数据库作为信息存储和检索的核心组件&#xff0c;其重要性不言而喻。然而&#xff0c;对于开发者而言&#xff0c;如何在保证数据安全的前提下&#xff0c;高效地进行数据库操作却是一项挑战。传统的 SQL 查询虽然强大&#xff0c;但存在诸…

linux-10 关于shell(九)认证、授权、审计

之前提到过的一些基本应用&#xff0c;对Linux系统而言&#xff0c;安装完成以后&#xff0c;它给我们提供一个登录界面&#xff0c;对吧&#xff1f;这个登录界面说白了就是验证用户的&#xff0c;身份的&#xff0c;我昨天提到过&#xff0c;一般而言&#xff0c;每一个使用者…

VSCode中“Run Code”运行程序时,终端出现中文乱码解决方法

问题描述 在VSCode中“Run Code”运行程序时&#xff0c;终端输出结果出现中文乱码现象&#xff1a; 解决方法 1. 检查系统cmd的默认编码 查看Windows终端当前编码方式的命令&#xff1a; chcp输出结果是一段数字代码&#xff0c;如936&#xff0c;这说明当前的cmd编码方式…

【Python】ASCII-generator 将图像、文本或视频转换为 ASCII 艺术 生成字符图(测试代码)

目录 预览效果安装环境报错分析基本例程总结 欢迎关注 『Python』 系列&#xff0c;持续更新中 欢迎关注 『Python』 系列&#xff0c;持续更新中 预览效果 原图 黑白图 彩色图 安装环境 拉取代码 https://github.com/vietnh1009/ASCII-generatorpython3.8 pip install…

量化交易系统开发-实时行情自动化交易-8.2.发明者FMZ平台

19年创业做过一年的量化交易但没有成功&#xff0c;作为交易系统的开发人员积累了一些经验&#xff0c;最近想重新研究交易系统&#xff0c;一边整理一边写出来一些思考供大家参考&#xff0c;也希望跟做量化的朋友有更多的交流和合作。 接下来会对于发明者FMZ平台介绍。 发明…