当前位置: 首页 > article >正文

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.kler.cn/a/414447.html

相关文章:

  • 小游戏聚合SDK的工具类封装
  • HTML CSS JS基础考试题与答案
  • 如何正确使用 GitHub API 获取特定版本信息:详解错误排查与解决方案
  • 电子应用设计方案-28:智能云饭锅系统方案设计
  • 养老院、学校用 安科瑞AAFD-40Z单相电能监测故障电弧探测器
  • HDU Go Running(最小点覆盖 + 网络流优化)
  • vue3 使用XLSX导出
  • openssl编译安装升级为新版本
  • burpsuite(2)最新版burpsuite安装教程
  • k8s集群部署metrics-server
  • 浅谈网络 | 应用层之HTTP协议
  • 微知-git如何添加空目录的几种方式?(.gitkeep, githook, gitconfig)
  • 1.1 STM32_GPIO_基本知识
  • 【释放算力潜能】基于华为鲲鹏920 + 昇腾310B的VPX架构主板
  • 数学建模中的10大经典模型及其实际应用:从入门到精通!(一)线性规划模型
  • 【FPGA】UART串口通信
  • 深度学习视频编解码开源项目介绍【持续更新】
  • 新版Android Studio 一些配置细节
  • Algorithms and Data Structures in C++ by Mohammed Yasir Eramangadan
  • linux安全管理-防火墙配置
  • UNity将脚本中的文本提示显示在编辑器中
  • #渗透测试#红蓝攻防#HW#漏洞挖掘#漏洞复现01-笑脸漏洞(vsftpd)
  • 启动SpringBoot
  • Docker网络模式:桥接(Bridge)模式与主机模式(Host)实操对比(一)
  • docker网络配置
  • git打标签的作用?