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:从节点的优先级,用于主从切换。

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

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

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

相关文章

【鸿蒙】创建第⼀个鸿蒙项⽬

点击 Create Project 配置项目 开发工具界面 工程介绍

RFID无线测温技术在医院电力系统中的应用

在医疗设施的日常运营中&#xff0c;确保电力系统的可靠性和安全性至关重要。特别是在医院环境中&#xff0c;对于供电的稳定与安全有着十分高的要求&#xff0c;面对持续增加的就医人数所带来的接诊压力及高精密设备所带来的电力运行负荷&#xff0c;这是对医疗机构的电力系统…

vue实现post请求接口流式输出数据sse

使用fetchEventSource 参考git源码&#xff1a;https://github.com/Azure/fetch-event-source/tree/main 本地联通 发现数据并没有流式输出&#xff1a;vue代理需要关闭compress 如下&#xff1a; devServer:{proxy:{},compress:false } 安装插件 npm install microsoft/f…

远程医疗软件到底哪个好用?

随着科技进步的不断推进&#xff0c;远程医疗已经成为现代医疗体系的一个重要支柱。远程医疗软件&#xff0c;通过网络通信技术的运用&#xff0c;打破了地理限制&#xff0c;实现了医疗资源的有效整合与共享&#xff0c;为民众提供了前所未有的便捷高效的医疗服务体验。那么&a…

如何修改外接移动硬盘的区号

- 问题介绍 当电脑自身内存不够使用的时候&#xff0c;使用外接硬盘扩展内存是一个不错的选择。但是当使用的外接硬盘数量过多的时候&#xff0c;会出现分配硬盘的区号变动的情况&#xff0c;这种情况下会极大的影响使用的体验情况。可以通过以下步骤手动调整恢复 - 配置 版本…

python-16-零基础学python 用类实现登录次数的记录

学习内容&#xff1a;《python编程&#xff1a;从入门到实践》第二版 知识点&#xff1a; 类&#xff0c;特殊函数&#xff0c;编写方法&#xff0c;创建实例&#xff0c;用方法修改类的值 练习内容&#xff1a; 练习9-5&#xff1a;尝试登录次数 在为完成练习9-3而编写的…

功能测试【测试用例模板、Bug模板、手机App测试】

功能测试 Day01 web项目环境与测试流程、业务流程测试一、【了解】web项目环境说明1.1 环境的定义&#xff1a;项目运行所需要的所有的软件和硬件组合1.2 环境(服务器)的组成&#xff1a;操作系统数据库web应用程序项目代码1.3 面试题&#xff1a;你们公司有几套环境&#xff1…

09-axios在Vue中的导入与配置

09-axios 前言首先简单了解什么是Axios&#xff1f;以上完成后就可以使用了 前言 我们接着上一篇文章 08-路由地址的数据获取 来讲。 下一篇文章 10-vuex在Vue中的导入与配置 首先简单了解什么是Axios&#xff1f; Axios是一个基于Promise 用于浏览器和 nodejs 的 HTTP 客户端…

百度文心智能体,创建属于自己的智能体应用

百度文心智能体平台为你开启。百度文心智能体平台&#xff0c;创建属于自己的智能体应用。百度文心智能体平台是百度旗下的智能AI平台&#xff0c;集成了先进的自然语言处理技术和人工智能技术&#xff0c;可以用来创建属于自己的智能体应用&#xff0c;访问官网链接&#xff1…

docker基础使用教程

1.准备工作 例子&#xff1a;工程在docker_test 生成requirements.txt文件命令&#xff1a;&#xff08;使用参考链接2&#xff09; pip list --formatfreeze > requirements.txt 参考链接1&#xff1a; 安装pipreqs可能比较困难 python 项目自动生成环境配置文件require…

通俗解释resultType和resultMap的区别

【 1 对于单表而言&#xff1a; 注&#xff1a;以下都是摘抄过来的&#xff0c;做了让自己更能理解的版本 如果数据库返回结果的列名和要封装的实体的属性名完全一致的话用 resultType 属性 如果数据库返回结果的列名&#xff08;起了别名&#xff09;和要封装的实体的属性名…

ArcGIS批量投影转换的妙用(地理坐标系转换为平面坐标系)

​ 点击下方全系列课程学习 点击学习—>ArcGIS全系列实战视频教程——9个单一课程组合系列直播回放 这次文章我们来介绍一下&#xff0c;如何巧妙用要素数据集来实现要素的批量投影。不需要ArcGIS的模型构建器与解决。 例如&#xff0c;有多个要素要将CGCS_2000地理坐标系投…

D触发器(D Flip-Flop)与D锁存器(D Latch)

1 基础概念 我们先来简单回顾一下D触发器&#xff08;D flip-flop&#xff09;和D锁存器&#xff08;D latch&#xff09;的概念&#xff0c;以及它们在数字电路中的作用。 1.1 D触发器&#xff08;D Flip-Flop&#xff09; D触发器是一种数字存储器件&#xff0c;它在时钟信号…

【VS Code 插件】SQLite 可视化插件

VScode 插件分享篇之sqlite可视化工具 项目经常用到SQLite这个轻量型数据库&#xff0c;于是乎&#xff0c;就想着找一个可视化工具&#xff0c;但是我有时候只是想方便预览数据 表&#xff0c;又不想安装额外的程序&#xff0c;那么这款插件很适合你。 用习惯VS Code的小伙伴…

HarmonyOS Next 系列之沉浸式状态实现的多种方式(七)

系列文章目录 HarmonyOS Next 系列之省市区弹窗选择器实现&#xff08;一&#xff09; HarmonyOS Next 系列之验证码输入组件实现&#xff08;二&#xff09; HarmonyOS Next 系列之底部标签栏TabBar实现&#xff08;三&#xff09; HarmonyOS Next 系列之HTTP请求封装和Token…

Win11 删除文件时提示“找不到该项目,请重试”的解决办法

1、Win R 打开运行窗口&#xff0c;输入 notepad 并回车打开文本文档(记事本)软件&#xff0c;如下图&#xff1a; 2、在文本文档(记事本)软件中复制粘贴以下代码&#xff0c;如下图&#xff1a; del /f /a /q \\?\%1 rd /s /q \\?\%1或DEL /F /A /Q \\?\%1 RD /S /Q \\?…

html做一个分组散点图图的软件

在HTML中创建一个分组散点图&#xff0c;可以结合JavaScript库如D3.js或Plotly.js来实现。这些库提供了强大的数据可视化功能&#xff0c;易于集成和使用。下面是一个使用Plotly.js创建分组散点图的示例&#xff1a; 要添加文件上传功能&#xff0c;可以让用户上传包含数据的文…

昇思25天学习打卡营第4天|网络构建|函数式自动微分

学AI还能赢奖品&#xff1f;每天30分钟&#xff0c;25天打通AI任督二脉 (qq.com) 网络构建 神经网络模型是由神经网络层和Tensor操作构成的&#xff0c;mindspore.nn提供了常见神经网络层的实现&#xff0c;在MindSpore中&#xff0c;Cell类是构建所有网络的基类&#xff0c;也…

基于uni-app和图鸟UI的智慧农业综合管控平台小程序技术实践

摘要&#xff1a; 随着信息化技术的飞速发展&#xff0c;智慧农业已成为推动农业现代化、提升农业生产效率的重要手段。本文介绍了一款基于uni-app框架和图鸟UI设计的智慧农业综合管控平台小程序&#xff0c;该平台整合了传感器控制、农业数据监测、设施管控、农业新闻传播以及…

论文:R语言数据分析之机器学习论文

欢迎大家关注全网生信学习者系列&#xff1a; WX公zhong号&#xff1a;生信学习者Xiao hong书&#xff1a;生信学习者知hu&#xff1a;生信学习者CDSN&#xff1a;生信学习者2 一、研究背景 全球范围内&#xff0c;乳腺癌是导致癌症发病率和死亡率的主要疾病之一。根据2018年…