redis.conf 参数详解,方便进行性能优化配置

以下是redis.conf中一些常见参数的详细说明:

  1. daemonize:是否以后台进程运行,默认为no

  2. pidfile:如以后台进程运行,则需指定一个pid,默认为/var/run/redis.pid
  3. bind:绑定主机IP,默认值为127.0.0.1
  4. port:监听端口,默认为6379
  5. timeout:超时时间,默认为300(秒);
  6. loglevel:日志记录等级,有4个可选值,debugverbose(默认值),noticewarning
  7. logfile:日志记录方式,默认值为stdout
  8. databases:可用数据库数,默认值为16,默认数据库为0
  9. save <seconds> <changes>:指出在多长时间内,有多少次更新操作,就将数据同步到数据文件。这个可以多个条件配合;
  10. rdbcompression:存储至本地数据库时是否压缩数据,默认为yes
  11. dbfilename:本地数据库文件名,默认值为dump.rdb
  12. dir:本地数据库存放路径,默认值为 ./
  13. slaveof <masterip> <masterport>:当本机为从服务时,设置主服务的IP及端口;
  14. masterauth <master-password>:当本机为从服务时,设置主服务的连接密码;
  15. requirepass:连接密码;
  16. maxclients:最大客户端连接数,默认不限制;
  17. maxmemory <bytes>:设置最大内存,达到最大内存设置后,Redis会先尝试清除已到期或即将到期的Key,当此方法处理后,任到达最大内存设置,将无法再进行写入操作;
  18. appendonly:是否在每次更新操作后进行日志记录,如果不开启,可能会在断电时导致一段时间内的数据丢失。因为redis本身同步数据文件是按上面sava条件来同步的,所以有的数据会在一段时间内只存在于内存中。默认值为no
  19. appendfilename:更新日志文件名,默认值为appendonly.aof
  20. appendfsync:更新日志条件,共有3个可选值。no表示等操作系统进行数据缓存同步到磁盘,always表示每次更新操作后手动调用fsync()将数据写到磁盘,everysec表示每秒同步一次(默认值);
  21. vm-enabled:是否使用虚拟内存,默认值为no
  22. vm-swap-file:虚拟内存文件路径,默认值为/tmp/redis.swap,不可多个Redis实例共享;
  23. vm-max-memory:将所有大于vm-max-memory的数据存入虚拟内存,无论vm-max-memory设置多小,所有索引数据都是内存存储的,也就是说,当vm-max-memory设置为0的时候,其实是所有value都存在于磁盘。默认值为0
  24. vm-page-size:设置swap文件中的page数量,由于页表是在放在内存中的,在磁盘上每8个pages将消耗1byte的内存;
  25. vm-pages:设置swap文件中的page数量,由于页表是在放在内存中的,在磁盘上每8个pages将消耗1byte的内存;
  26. vm-max-threads:设置访问swap文件的线程数,设置最好不要超过机器的核数,如果设置为0,那么所有对swap文件的操作都是串行的,可能会造成比较长时间的延迟,但是对数据完整性有很好的保证;
  27. glueoutputbuf:指定在超过一定的数量或者最大的元素超过某一临界值时,采用一种特殊的哈希算法;
  28. hash-max-zipmap-entrieshash-max-zipmap-value:指定是否激活重置哈希,默认为开启;
  29. activerehashing yes:指定是否启用虚拟内存机制,默认值为no

除了之前提到的参数,Redis 的配置文件中还有以下一些常用参数:

  • tcp-backlog:TCP 监听的最大容纳数量,在高并发的环境下,需要把这个值调高以避免客户端连接缓慢的问题。

  • unixsocket:指定 Redis 监听的 Unix socket 路径,默认不启用。
  • unixsocketperm:指定 Unix socket 文件的权限。
  • timeout:指定在一个客户端空闲多少秒之后关闭连接(0 表示永不关闭)。
  • tcp-keepalive:单位是秒,表示将周期性的使用 SO_KEEPALIVE 检测客户端是否还处于健康状态,避免服务器一直阻塞,官方给出的建议值是 300 秒,如果设置为 0,则不会周期性的检测。
  • supervised:可以通过 upstart 和 systemd 管理 Redis 守护进程。
  • pidfile:配置 PID 文件路径,当 Redis 作为守护进程运行的时候,它会把 pid 默认写到指定文件里面。
  • syslog-enabled:要想把日志记录到系统日志,就把它改成 yes,也可以可选择性的更新其他的 syslog 参数以达到你的要求。
  • syslog-ident:设置系统日志的 ID。
  • syslog-facility:指定系统日志设置,必须是 USER 或者是 LOCAL0-LOCAL7 之间的值。
  • slave-serve-stale-data:当一个 slave 与 master 失去联系,或者复制正在进行的时候,slave 可能会有两种表现:如果为 yes,slave 仍然会应答客户端请求,但返回的数据可能是过时;如果为 no,出去 INFO 和 SLAVOF 命令之外的任何请求都会返回一个错误 "SYNC with master in progress"。
  • slave-read-only:你可以配置一个 slave 实体是否接受写入操作。
  • io-threads:启用多线程。
  • tcp-backlog:确定 TCP 连接中已完成队列的长度,应小于 Linux 系统的/proc/sys/net/core/somaxconn 的值,默认为511。
  • tcp-keepalive:指定 ACKs 的时间周期,单位为秒,值非 0 的情况表示将周期性的检测客户端是否可用,默认值为 0。
  • lua-time-limit:设置 Lua 脚本的最大运行时间,单位为毫秒,默认值为 5000。
  • notify-keyspace-events:事件通知,默认不启用。
  • slave-serve-stale-data:当 slave 端在主从复制的过程中与 master 端断开了连接,此参数用于设置 slave 端的行为,是继续提供服务即使数据可能不是最新的,还是对请求返回一个错误信息,默认配置是继续提供服务。
  • slave-read-only:自 Redis 2.6 版本开始,slave 端默认为只读。
  • repl-disable-tcp-nodelay:是否启用 TCP_NODELAY,如果启用则会使用少量的 TCP 包和带宽去进行数据传输到 slave 端,当然速度会比较慢;如果不启用则传输速度比较快,但是会占用比较多的带宽。
  • maxmemory-samples:设置 LRU 算法检查的样本数,默认值为 5。

这些参数可以根据具体的需求进行调整,以优化 Redis 的性能和行为。建议在修改配置文件之前,先了解每个参数的作用和影响,并根据实际情况进行合理的配置。同时,还可以参考 Redis 的官方文档获取更详细的信息。

其他参数部分1:

1. cluster-enabled:是否启用 Redis 集群模式,默认为 no

2. cluster-config-file:指定集群配置文件的名称,默认为 nodes.conf

3. cluster-node-timeout:集群节点超时时间,默认为 15000 毫秒。

4. slowlog-log-slower-than:设定慢查询日志的执行时间阈值(微秒),超过该阈值的命令将被记录到慢查询日志中。

5. slowlog-max-len:慢查询日志的最大长度。

6. hz:Redis 内部的事件处理频率,默认为 10 。

7. tcp-backlog:TCP 连接的等待队列长度。

8. notify-keyspace-events:配置键空间通知事件。

9. client-output-buffer-limit:对不同类型的客户端设置输出缓冲区的限制。

10. slave-serve-stale-data:从服务器在与主服务器失去连接时,是否响应客户端请求,默认为 yes

11. slave-read-only:从服务器是否为只读模式,默认为 yes

12. repl-disable-tcp-nodelay:主从复制时是否禁用 TCP_NODELAY 选项,默认为 no

其他参数部分2:

1. tcp-keepalive:设置 TCP 连接的保活机制,指定空闲多久后发送保活探测包。

2. lua-time-limit:执行 Lua 脚本的最大运行时间,以毫秒为单位。

3. maxmemory-samples:在计算内存使用和选择淘汰键时的采样数量。

4. stop-writes-on-bgsave-error:当后台保存出错时是否禁止写入操作,默认为 yes

5. cluster-require-full-coverage:在集群模式下,是否要求所有的键空间都被覆盖,默认为 yes

6. aof-load-truncated:当加载 AOF 文件发现文件末尾不完整时的处理方式,默认为 yes(继续加载)。

7. cluster-migration-barrier:集群迁移的最小主节点数量阈值。

8. lazyfree-lazy-eviction:是否惰性删除达到最大内存限制时的键,默认为 no

9. lazyfree-lazy-expire:是否惰性删除过期的键,默认为 no

10. lazyfree-lazy-server-del:是否惰性删除服务器端的一些命令操作,如 FLUSHALL 、 FLUSHDB 等,默认为 no


1. activedefrag:是否启用主动碎片整理,默认为 no

2. maxmemory-policy:当内存达到上限时的淘汰策略,除了前面提到的常见策略,还包括 volatile-ttl(淘汰即将过期的键)等。

3. cluster-slave-validity-factor:从节点与主节点失联后,判定从节点失效的时间放大倍数。

4. repl-ping-slave-period:从节点向主节点发送 ping 的时间间隔。

5. cluster-replica-no-failover:是否禁止从节点在主节点故障时进行故障转移,默认为 no

6. cluster-replica-validity-factor:从节点与主节点的复制偏移量检查的放大倍数。

7. hash-max-ziplist-entries:哈希表在使用压缩列表时,键值对的最大数量。

8. hash-max-ziplist-value:哈希表在使用压缩列表时,值的最大长度。

9. list-max-ziplist-size:列表在使用压缩列表时的最大长度。

10. zset-max-ziplist-entries:有序集合在使用压缩列表时,元素的最大数量。

11. zset-max-ziplist-value:有序集合在使用压缩列表时,元素成员的最大长度。

12. pubsub-channel-size:发布订阅频道的最大订阅者数量。

13. rdbchecksum:在生成 RDB 快照文件时是否进行校验和计算,默认为 yes

其他参数部分3:

1. cluster-announce-ip:在集群环境中,节点用于通告给其他节点的 IP 地址。

2. cluster-announce-port:在集群环境中,节点用于通告给其他节点的端口。

3. cluster-announce-bus-port:集群内部通信总线使用的端口。

4. cluster-node-timeout-factor:用于计算节点超时时间的系数。

5. rename-command:重命名某些危险命令,以增强安全性。

6. hz:决定 Redis 内部事件的处理频率。

7. latency-monitor-threshold:设置延迟监控的阈值。

8. repl-backlog-size:复制积压缓冲区的大小。

9. min-slaves-to-write:指定在执行写操作时所需的最少健康从节点数量。

10. min-slaves-max-lag:从节点与主节点的最大延迟时间,超过此值的从节点被视为不健康。

其他参数部分4:

1. cluster-replica-validity-factor:用于调整从节点与主节点复制偏移量检查的容错系数。

2. cluster-allow-reads-when-down:控制在集群不可用时是否允许读取操作,默认为 no

3. cluster-migration-barrier:定义触发迁移操作所需的主节点数量阈值。

4. cluster-announce-tcp-ports:在集群环境中,通告 TCP 端口信息。

5. client-query-buffer-limit:限制客户端查询缓冲区的大小。

6. proto-max-bulk-len:协议中批量操作允许的最大长度。

7. max-appendonly-import-time:AOF 重写导入数据的最大允许时间。

8. dynamic-hz:根据负载动态调整 hz 值。

9. jemalloc-bg-thread:启用或禁用 jemalloc 的后台线程。

10. jemalloc-mib-heap-limit:设置 jemalloc 堆内存的限制大小(以 MiB 为单位)。

其他参数部分5:

1. cluster-announce-hostname:在集群环境中,节点用于通告的主机名。

2. activedefrag-threshold-lower:触发主动碎片整理的内存碎片下限阈值。

3. activedefrag-threshold-upper:触发主动碎片整理的内存碎片上限阈值。

4. activedefrag-cycle-min:主动碎片整理的最小运行时间。

5. activedefrag-cycle-max:主动碎片整理的最大运行时间。

6. maxmemory-eviction-tenacity:控制内存淘汰策略的持久性。

7. rdb-del-sync-files:在执行 RDB 保存时,是否同步删除旧的 RDB 文件,默认为 no

8. repl-diskless-sync-delay:在无盘复制时的延迟时间。

9. cluster-password:集群的密码设置。

10. slave-priority:从节点的优先级,用于主从切换。

有兴趣的同学可以自己深入研究一下源码,里面有具体配置说明

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

WPF——属性

一、属性 类最初只有字段与函数&#xff0c;字段为一个变量&#xff0c;访问权限可以是private&#xff0c;protected&#xff0c;public。而将字段设为private&#xff0c;不方便外界对类数据的操作&#xff0c;但是将字段设为public又怕外界对数据进行非法操作&#xff0c;于…

二叉树-二叉搜索树的最近公共祖先

目录 一、问题描述 二、解题思路 三、代码实现 四、刷题链接 一、问题描述 二、解题思路 这个问题和之前做过的问题很相似&#xff1a; 深度优先遍历-在二叉树中找到两个节点的最近公共祖先-CSDN博客文章浏览阅读80次。java刷题&#xff1a;在二叉树中找到两个结点的最近公…

用于快速充电站的 AC/DC 转换器概述

电动汽车构成了未来实现可持续交通部门的有前途技术的主要部分。AC/DC 转换器是扩展和改进 EV 功能的骨干组件。本文概述了 AC/DC 转换器、充电站类型、传统两电平 (2L) AC/DC 转换器面临的问题以及使用多电平转换器 (MLC) 的重要性。 AC/DC 充电器示意图&#xff08;&#xff…

2024广东省职业技能大赛云计算赛项实战——Minio服务搭建

Minio服务搭建 前言 这道题是比赛时考到的&#xff0c;没找到具体题目&#xff0c;但在公布的样题中找到了&#xff0c;虽然很短~ 使用提供的 OpenStack 云平台&#xff0c;申请一台云主机&#xff0c;使用提供的软件包安装部署 MINIO 服务并使用 systemctl 管理 Minio是一个…

关于接口测试——自动化框架的设计与实现

一、自动化测试框架 在大部分测试人员眼中只要沾上“框架”&#xff0c;就感觉非常神秘&#xff0c;非常遥远。大家之所以觉得复杂&#xff0c;是因为落地运用起来很复杂&#xff1b;每个公司&#xff0c;每个业务及产品线的业务流程都不一样&#xff0c;所以就导致了“自动化…

Linux_理解进程地址空间和页表

目录 1、进程地址空间示意图 2、验证进程地址空间的结构 3、验证进程地址空间是虚拟地址 4、页表-虚拟地址与物理地址 5、什么是进程地址空间 6、进程地址空间和页表的存在意义 6.1 原因一&#xff08;效率性&#xff09; 6.2 原因二&#xff08;安全性&#xff09; …

MVC模式中控制器、视图和模型之间的关系如何?

mvc模式将应用程序逻辑与表示层分离&#xff0c;包括控制器、视图和模型三个组件&#xff1a;控制器&#xff1a;协调用户输入&#xff0c;获取模型数据&#xff0c;验证输入&#xff0c;执行业务规则。视图&#xff1a;显示模型数据&#xff0c;不包含业务逻辑。模型&#xff…

如何使用AI解决所有EXCEL公式问题

有个假设前提&#xff0c;你略懂EXCEL公式 知道单元格“ $C1” 和 ”C1”的区别&#xff0c;当然你也可以自行度娘或问AI。 AI使用文心一言免费版方便容易获取。 第一步也是唯一的一步&#xff0c;向AI准确描述你的需求 示例&#xff1a;学生的成绩分布在0-100分之间&#x…

echarts+vue2实战(一)

目录 一、项目准备 二、(横向分页)柱状图 2.1、动态刷新 2.2、UI调整 2.3、分辨率适配 三、(竖向平移)柱状图 3.1、平移动画 3.2、不同数值显示不同颜色 四、(下拉切换)折线图 4.1、切换图表和分辨率适配 4.2、UI调整 五、(三级分类)饼图 5.1、数据切换 六、圆环…

dial tcp 10.96.0.1:443: connect: no route to host

1、创建Pod一直不成功&#xff0c;执行kubectl describe pod runtime-java-c8b465b98-47m82 查看报错 Warning FailedCreatePodSandBox 2m17s kubelet Failed to create pod sandbox: rpc error: code Unknown desc failed to setup network for…

java8 将对象list中的某一个属性取出组成一个list

实体类 public class Sp {String spdm;String spmc;public Sp() {}public Sp(String spdm, String spmc) {this.spdm spdm;this.spmc spmc;}public String getSpdm() {return spdm;}public void setSpdm(String spdm) {this.spdm spdm;}public String getSpmc() {return sp…

太爱这种数据可视化效果,零售行业的都看过来

在当今数字化浪潮下&#xff0c;数据可视化已成为零售行业洞察市场趋势、优化运营决策的关键技术。奥威BI零售数据分析方案凭借其卓越的数据可视化效果&#xff0c;成为零售企业的得力助手。接下来就通过BI节假日分析报表来简单地感受一下。 注&#xff1a;该BI节假日分析报表…

反激开关电源输出电解电容选型及计算

电容高频模型&#xff1a;ESRESLC的串联 1、耐压&#xff1a;根据输出的电压来取&#xff0c;需留一定余量&#xff0c;比如5V输出可以选6.3V或者10V的电解电容 2、容量 纹波电压 电容充放电引起的纹波电压&#xff08;与电容容量存在着直接因果关系&#xff09; ESR引起的纹…

校园任务平台系统的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;管理员管理&#xff0c;论坛管理&#xff0c;任务咨询管理&#xff0c;用户管理&#xff0c;基础数据管理 前台账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;任务资讯公告&#…

Springboot 实体类赋默认值 @Value 失效? 那怎么搞?

这是最近一个小伙找上来问的问题&#xff0c; 我初一看还没看出来啥猫腻&#xff0c;后面认真一想&#xff0c;决定也写下来记录下&#xff0c;给其他初学者也知道下。 原先思路错误代码&#xff1a; 这个小伙想利用 Value 注解&#xff0c; 给这个属性 赋值&#xff0c;defaul…

js 实现将后端请求来的 Blob 数据保存到用户选择的任意目录

js实现将后端请求来的 Blob 数据保存到用户选择的任意目录 实现方式 实现方式 实现方式是使用 window 的 showSaveFilePicker 方法。Window 接口的 showSaveFilePicker() 方法用于显示一个文件选择器&#xff0c;以允许用户保存一个文件。可以选择一个已有文件覆盖保存&#xf…

快手电商:618大促开启以来,短视频挂车GMV同增66%

日前&#xff0c;快手电商发布618大促阶段战报。数据显示&#xff0c;在5月20日-6月18日活动期间&#xff0c;平台动销商家数同比增长26%&#xff0c;动销中小商家数同比增长28%&#xff0c;动销中小商家订单量同比增长25%。 从经营场域来看&#xff0c;泛货架场已成为快手电商…

纯css星空动画

让大家实现一个这样的星空动画效果,大家会怎么做? js,不! 其实使用css就能写 我也不藏着掖着,源码直接放下面了 <script setup></script><template><div class"box"><div v-for"i in 5" :key"i" :class"layer…

PostgreSQL性能优化之分区表 #PG培训

在处理大规模数据时&#xff0c;PostgreSQL的性能优化是一个非常重要的话题&#xff0c;其中分区表&#xff08;Partitioned Tables&#xff09;是提高查询和数据管理效率的重要手段。本文将详细介绍PostgreSQL分区表的概念、优势、创建与管理方法以及一些常见的优化策略。 #P…

《广州化工》是什么级别的期刊?是正规期刊吗?能评职称吗?

​问题解答 问&#xff1a;《广州化工》是不是核心期刊&#xff1f; 答&#xff1a;不是&#xff0c;是知网收录的正规学术期刊 问&#xff1a;《广州化工》级别&#xff1f; 答&#xff1a;省级。主办单位&#xff1a;广州化工集团有限公司 主管单位&#xff1a;广州化工…