Redis配置文件(redis.conf)超详细详解

Redis配置文件(redis.conf)超详细详解 Redis的强大之处不仅在于其高性能的内存操作更在于通过配置文件默认名为redis.conf可以灵活定制其运行行为——小到端口、密码配置大到持久化策略、内存管理、高可用部署都能在配置文件中实现精准控制。很多新手使用Redis时习惯直接用默认配置启动遇到数据丢失、性能瓶颈、安全漏洞时才慌了神本质上是对redis.conf的核心配置项不了解。今天这篇博客就带大家从头到尾吃透Redis配置文件结合实际使用场景逐模块拆解每一个关键配置无论是开发环境调试还是生产环境部署都能直接参考使用。说明本文基于Redis 6.0版本目前企业主流版本配置项与低版本基本兼容少数新增配置会特别标注所有配置项均对应redis.conf中的原始注释逻辑同时补充实战建议避免“只懂字面意思不会实际配置”的问题。一、配置文件基础认知必看1.1 配置文件的作用与加载方式Redis启动时会默认加载指定路径下的redis.conf文件若未指定会使用内置默认配置仅适合测试环境。加载方式有两种启动时指定配置文件推荐生产环境必用redis-server /etc/redis/redis.conf路径根据自己的实际安装目录调整动态修改配置无需重启Redis适合临时调整通过redis-cli CONFIG SET 配置项 配置值修改例如CONFIG SET requirepass 123456但注意动态修改的配置重启后会失效需同步修改redis.conf文件才能永久生效也可使用CONFIG REWRITE命令自动同步到配置文件中。1.2 配置文件的语法规则注释以#开头的行是注释Redis会忽略部分注释会包含配置项的说明建议新手先通读一遍默认注释。配置格式配置项 配置值例如port 6379中间用空格分隔若配置值包含空格需用双引号或单引号包裹例如requirepass my redis password。单位规范配置文件中支持内存、时间单位不区分大小写内存单位1k1000字节、1kb1024字节、1m1000000字节、1mb1048576字节、1g1000000000字节、1gb1073741824字节例如maxmemory 10gb时间单位1s秒、1ms毫秒、1m分钟、1h小时、1d天例如timeout 300s。引入其他配置可通过include /path/to/other.conf引入其他配置文件适合将不同模块的配置拆分管理例如将持久化配置、集群配置单独拆分。1.3 核心配置模块划分redis.conf的配置项虽多但逻辑清晰主要分为以下8大模块后续我们逐模块详解网络配置Network控制Redis的网络连接如端口、绑定IP、连接限制等通用配置General控制Redis的基础运行模式如是否后台运行、日志、进程文件等持久化配置Persistence控制RDB和AOF两种持久化方式核心是防止数据丢失内存管理Memory Management控制Redis的内存使用避免内存溢出高可用配置Replication/Cluster主从复制、哨兵、集群相关配置安全配置Security密码认证、命令限制等防止未授权访问客户端配置Clients控制客户端连接相关参数高级配置Advanced性能调优、慢查询、Lua脚本等相关配置。二、网络配置Network—— 控制Redis的“通信方式”网络配置是Redis对外提供服务的基础核心是控制“谁能连接Redis”“通过什么端口连接”生产环境需重点配置避免暴露外网导致安全风险。2.1 bind绑定监听的IP地址默认配置bind 127.0.0.1含义指定Redis监听的网卡IP只有绑定的IP才能访问Redis。详细说明默认值127.0.0.1仅允许本地本机访问外部机器无法连接适合开发、测试环境多IP绑定可绑定多个IP用空格分隔例如bind 127.0.0.1 192.168.1.100表示本地和内网IP均可访问允许所有IP访问设置为bind 0.0.0.0表示监听所有网卡接口任何IP都能连接生产环境需配合密码和防火墙使用否则有安全风险注意Redis 3.2版本后若未设置bind且未设置密码会开启保护模式protected-mode仅允许本地访问。实战建议生产环境绑定内网IP如192.168.xxx.xxx避免绑定0.0.0.0同时通过防火墙限制访问端口。2.2 protected-mode保护模式默认配置protected-mode yes含义Redis的安全保护机制防止未授权访问。详细说明yes默认如果未设置bind或绑定0.0.0.0且未设置密码requirepass则仅允许本地127.0.0.1访问拒绝外部连接no关闭保护模式此时即使未设置密码、绑定0.0.0.0外部也能直接连接不推荐生产环境使用除非有严格的防火墙限制。实战建议保持默认yes通过设置bind和密码来控制访问而非关闭保护模式。2.3 port监听端口默认配置port 6379含义Redis监听的TCP端口客户端通过该端口连接Redis。详细说明默认端口6379是Redis的官方默认端口建议生产环境不要使用默认端口可改为10000以上的端口降低被扫描攻击的风险若设置为port 0Redis将不监听TCP端口仅支持本地unix socket连接极少用。2.4 tcp-backlogTCP连接队列长度默认配置tcp-backlog 511含义TCP三次握手完成后服务器端接收连接的队列长度用于处理高并发连接场景。详细说明队列长度由内核参数和该配置共同决定高并发环境下如每秒万级连接需调大此值如2048避免因队列满导致客户端连接失败计算规则可参考“maxclients值 32”。实战建议高并发场景下调整为tcp-backlog 2048同时优化内核参数net.core.somaxconn建议设为2048以上。2.5 timeout客户端空闲超时时间默认配置timeout 0含义客户端空闲N秒后Redis自动断开该连接单位为秒。详细说明0默认永不超时客户端可以一直保持连接推荐生产环境使用避免因超时导致连接频繁断开非0值例如timeout 300表示客户端空闲5分钟后自动断开适合对连接数有严格限制的场景。2.6 tcp-keepaliveTCP会话保持时间默认配置tcp-keepalive 300含义TCP的保活机制单位为秒用于检测死连接客户端异常断开后服务器端及时释放连接。详细说明设置为300表示每300秒向客户端发送一次保活探测包若客户端无响应则断开连接建议保持默认值无需修改若网络不稳定可适当减小该值如120。三、通用配置General—— 控制Redis的“基础运行”通用配置主要控制Redis的运行模式、日志、进程管理等基础行为决定Redis如何在服务器上运行。3.1 daemonize守护进程模式默认配置daemonize no含义控制Redis是否以后台守护进程方式运行核心配置生产环境必改。详细说明no默认前台运行Redis启动后终端不能关闭关闭终端则Redis进程终止适合开发、测试环境yes后台运行Redis启动后会脱离终端以守护进程形式运行即使关闭终端进程依然存在生产环境必须设置为yes。注意设置为yes后Redis会将进程ID写入pidfile指定的文件中便于管理进程。3.2 supervised进程管理方式默认配置supervised no含义指定Redis的进程管理方式用于配合系统的进程管理工具如systemd、upstart。详细说明no默认不使用任何进程管理工具自行管理Redis进程systemdCentOS 7、Ubuntu 16.04 等使用systemd管理进程的系统设置为supervised systemd便于通过systemctl start/stop/restart redis管理RedisupstartUbuntu 14.04及以下使用upstart的系统设置为supervised upstart。实战建议CentOS 7 系统设置为supervised systemd方便进程管理和开机自启。3.3 pidfilePID文件路径默认配置pidfile /var/run/redis_6379.pid含义当Redis以守护进程daemonize yes运行时会将进程IDPID写入该文件用于标识Redis进程。详细说明默认路径为/var/run/redis_6379.pid其中6379是默认端口若修改了port建议同步修改pidfile的文件名如port改为6380pidfile改为/var/run/redis_6380.pid若服务器重启后该文件未被删除可能导致Redis无法重新启动提示“PID文件已存在”需手动删除该文件后再启动。3.4 loglevel日志级别默认配置loglevel notice含义控制Redis日志的输出级别级别从低到高分为4种级别越高输出的日志越少仅记录重要信息。详细说明4种级别debug调试级别输出所有日志包括详细的调试信息仅适合开发、测试环境生产环境禁用日志量过大占用磁盘和性能verbose详细级别输出较多日志包括客户端连接、命令执行等信息适合调试问题notice默认通知级别输出关键信息如启动、关闭、持久化触发等不输出冗余信息适合生产环境warning警告级别仅输出警告和错误信息如配置错误、内存不足等适合对日志量有严格限制的场景。实战建议生产环境保持默认loglevel notice既保证能监控关键事件又不会产生过多日志。3.5 logfile日志文件路径默认配置logfile 空值含义指定Redis日志的输出路径空值表示输出到标准输出终端。详细说明空值默认日志输出到终端若Redis以前台运行日志会显示在终端若以后台运行日志会被丢弃不推荐生产环境指定路径例如logfile /var/log/redis/redis.log日志会写入该文件便于后续排查问题生产环境必须设置注意需确保Redis进程有该路径的写入权限否则日志无法正常生成可通过chown -R redis:redis /var/log/redis授权。3.6 databases数据库数量默认配置databases 16含义Redis默认支持的数据库数量每个数据库是独立的数据不互通默认使用第0个数据库索引0-15。详细说明可通过SELECT 数据库索引命令切换数据库例如SELECT 1切换到第1个数据库生产环境可根据业务需求调整数量如拆分不同业务的数据到不同数据库但不建议设置过多过多会增加管理成本注意持久化文件RDB/AOF会保存所有数据库的数据删除某一个数据库的数据不会影响其他数据库。3.7 always-show-logo启动时显示Logo默认配置always-show-logo yes含义Redis启动时是否在终端或日志中显示ASCII格式的Redis Logo。详细说明设置为no可关闭Logo显示不影响Redis的正常运行仅用于美观和标识。四、持久化配置Persistence—— 防止数据丢失的核心Redis是内存数据库默认情况下数据仅存储在内存中一旦Redis重启、服务器断电数据会全部丢失。持久化配置的核心是将内存中的数据写入磁盘重启时恢复数据Redis提供两种持久化方式RDB快照式和AOF日志式可单独使用也可同时使用生产环境推荐同时开启。4.1 RDB持久化配置默认开启RDBRedis Database Backup是快照式持久化核心是“在指定时间间隔内将内存中的全量数据拍摄快照写入磁盘的.rdb文件”重启时读取该文件恢复数据。4.1.1 saveRDB触发条件核心配置默认配置save 900 1 # 900秒15分钟内有1个键发生修改触发RDB快照 save 300 10 # 300秒5分钟内有10个键发生修改触发RDB快照 save 60 10000 # 60秒1分钟内有10000个键发生修改触发RDB快照含义定义RDB快照的触发时机格式为save 秒数 修改次数满足任意一个条件就会触发快照。详细说明多个save配置并行生效只要满足其中一个就会执行BGSAVE后台快照操作禁用RDB将所有save配置注释或添加save 空字符串表示不触发自动RDB快照手动触发通过SAVE阻塞主线程不推荐或BGSAVE后台执行不阻塞主线程推荐命令手动触发RDB快照。实战建议生产环境可根据数据重要性调整触发条件例如数据更新频繁可将60秒的触发次数调大如20000避免频繁触发快照影响性能。4.1.2 stop-writes-on-bgsave-error快照出错时是否停止写入默认配置stop-writes-on-bgsave-error yes含义当BGSAVE操作失败如磁盘满、权限不足时是否禁止Redis执行写操作。详细说明yes默认快照失败时禁止写入目的是提醒运维人员及时处理如清理磁盘避免数据丢失no快照失败时继续允许写入适合对数据一致性要求不高、不希望因磁盘小故障导致服务不可用的场景生产环境需谨慎使用。4.1.3 rdbcompressionRDB文件是否压缩默认配置rdbcompression yes含义生成RDB文件时是否使用LZF算法对数据进行压缩减少文件体积。详细说明yes默认开启压缩可大幅减小RDB文件体积节省磁盘空间但会消耗少量CPU资源压缩过程no关闭压缩RDB文件体积大但生成速度快适合CPU资源紧张、磁盘空间充足的场景。实战建议保持默认yes压缩带来的CPU消耗可忽略且能节省大量磁盘空间。4.1.4 rdbchecksumRDB文件校验默认配置rdbchecksum yes含义读取和写入RDB文件时是否对文件进行CRC64校验确保文件完整性防止文件损坏导致恢复失败。详细说明yes默认开启校验可检测RDB文件是否损坏恢复时若校验失败Redis会拒绝加载该文件no关闭校验读取RDB文件速度更快但无法检测文件损坏可能导致恢复的数据不完整。实战建议保持默认yes确保数据恢复的完整性校验带来的性能损耗可忽略。4.1.5 dbfilenameRDB文件名默认配置dbfilename dump.rdb含义指定RDB快照文件的名称默认名为dump.rdb。实战建议可根据端口或业务修改文件名例如dbfilename dump_6379.rdb便于区分多个Redis实例的RDB文件。4.1.6 dir数据文件存储目录默认配置dir ./含义指定RDB、AOF等数据文件的存储目录默认是Redis启动目录./。详细说明生产环境必须修改为绝对路径例如dir /var/lib/redis避免Redis启动目录变化导致无法找到数据文件确保该目录有Redis进程的读写权限否则无法生成或读取数据文件。4.2 AOF持久化配置默认关闭AOFAppend Only File是日志式持久化核心是“将每一条写命令如set、del追加到.aof文件中重启时重新执行文件中的所有命令恢复数据”数据安全性比RDB更高几乎不丢数据。4.2.1 appendonly是否开启AOF默认配置appendonly no含义控制是否开启AOF持久化默认关闭开启后Redis会将所有写命令追加到AOF文件。实战建议生产环境必须设置为appendonly yes配合RDB使用确保数据安全。4.2.2 appendfilenameAOF文件名默认配置appendfilename appendonly.aof含义指定AOF文件的名称默认名为appendonly.aof存储在dir指定的目录下。实战建议可同步修改为appendfilename appendonly_6379.aof与RDB文件区分。4.2.3 appendfsyncAOF刷盘策略核心配置默认配置appendfsync everysec含义控制AOF文件的刷盘时机将内存中的命令写入磁盘决定AOF的性能和数据安全性有3种策略可选。详细说明3种策略always每次执行写命令后立即将命令刷盘写入磁盘最安全数据几乎不丢失但性能最差频繁刷盘会消耗磁盘I/O适合对数据安全性要求极高的场景如金融数据everysec默认每秒刷盘一次平衡安全性和性能最多丢失1秒内的数据适合绝大多数生产环境推荐no不主动刷盘由操作系统决定刷盘时机操作系统会定期将内存数据刷入磁盘性能最好但数据安全性最差可能丢失大量数据不推荐生产环境使用。4.2.4 no-appendfsync-on-rewrite重写期间是否暂停刷盘默认配置no-appendfsync-on-rewrite no含义当AOF文件重写AOF Rewrite时是否暂停appendfsync刷盘操作避免刷盘和重写同时进行消耗过多磁盘I/O。详细说明no默认重写期间不暂停刷盘确保数据不丢失但会增加磁盘I/O压力yes重写期间暂停刷盘减少I/O压力提升重写速度但可能丢失重写期间的少量数据最多1秒与appendfsync everysec配合。实战建议保持默认no优先保证数据安全若磁盘I/O压力过大可设置为yes需接受少量数据丢失风险。4.2.5 auto-aof-rewrite-percentageAOF重写触发百分比默认配置auto-aof-rewrite-percentage 100含义AOF文件自动重写的触发条件之一当当前AOF文件大小比上次重写后的大小增长了指定百分比时触发重写。详细说明例如上次重写后的AOF文件大小为100MB当前大小为200MB增长100%则触发重写重写的目的是压缩AOF文件去除冗余命令如多次set同一个键只保留最后一次set命令减少文件体积。4.2.6 auto-aof-rewrite-min-sizeAOF重写最小文件大小默认配置auto-aof-rewrite-min-size 64mb含义AOF文件自动重写的触发条件之二只有当AOF文件大小达到该值时才会触发重写避免小文件频繁重写。详细说明例如AOF文件大小为50MB即使增长了100%达到100MB但未达到64MB也不会触发重写只有当文件大小≥64MB且满足百分比条件时才会触发重写。实战建议根据业务调整例如高写入场景可设置为128mb避免频繁重写。4.2.7 aof-load-truncatedAOF文件损坏时是否加载默认配置aof-load-truncated yes含义Redis重启时若检测到AOF文件末尾损坏如断电导致是否继续加载该文件忽略损坏部分。详细说明yes默认忽略损坏部分加载AOF文件中正常的命令尽可能恢复数据加载后会在日志中提示文件损坏no拒绝加载损坏的AOF文件Redis无法启动需手动修复AOF文件如使用redis-check-aof工具后再启动。4.3 持久化方式选择建议生产环境追求性能、可接受少量数据丢失仅开启RDB不推荐风险较高追求数据安全、几乎不丢数据开启AOFappendfsync everysec RDB恢复优先级Redis重启时若同时开启AOF和RDB会优先加载AOF文件数据更完整再加载RDB文件可选。五、内存管理Memory Management—— 避免内存溢出Redis是内存数据库若内存使用无限制会导致服务器内存耗尽进而触发OOM内存溢出导致Redis进程被杀死。内存管理配置的核心是“限制Redis使用的最大内存并指定内存溢出时的淘汰策略”。5.1 maxmemoryRedis最大可用内存默认配置maxmemory 0含义指定Redis可使用的最大内存单位为字节可加单位如10gb0表示不限制默认生产环境必须修改。详细说明生产环境建议设置为服务器物理内存的70%-80%例如服务器物理内存为16GB可设置为maxmemory 12gb预留部分内存给操作系统和其他进程若不设置maxmemoryRedis会持续占用内存直到服务器内存耗尽触发OOM。5.2 maxmemory-policy内存淘汰策略核心配置默认配置maxmemory-policy noeviction含义当Redis使用的内存达到maxmemory时触发内存淘汰策略决定如何处理新的写命令避免内存溢出。详细说明6种淘汰策略Redis 6.0 支持noeviction默认禁止淘汰任何键当内存达到maxmemory后拒绝所有新的写命令返回错误读命令正常执行适合对数据一致性要求极高、不允许丢失任何数据的场景如金融数据volatile-lru仅淘汰设置了过期时间TTL的键使用LRU最近最少使用算法优先淘汰最近最少使用的键适合有过期键的场景如缓存allkeys-lru淘汰所有键无论是否设置过期时间使用LRU算法优先淘汰最近最少使用的键适合Redis作为缓存使用的场景推荐最常用volatile-lfu仅淘汰设置了过期时间的键使用LFU最不经常使用算法优先淘汰使用频率最低的键适合对键的使用频率敏感的场景allkeys-lfu淘汰所有键使用LFU算法优先淘汰使用频率最低的键适合缓存场景比LRU更精准volatile-random仅淘汰设置了过期时间的键随机淘汰适合对淘汰键无明确要求的场景allkeys-random淘汰所有键随机淘汰不推荐使用淘汰效率低volatile-ttl仅淘汰设置了过期时间的键优先淘汰剩余过期时间最短的键TTL最小适合需要优先保留长期有效键的场景。实战建议Redis作为缓存使用最常见场景设置为maxmemory-policy allkeys-lru或allkeys-lfuRedis存储有过期键的业务数据设置为maxmemory-policy volatile-lru不允许丢失任何数据设置为maxmemory-policy noeviction同时需及时扩容内存。5.3 maxmemory-samplesLRU/LFU算法采样数量默认配置maxmemory-samples 5含义Redis执行LRU/LFU淘汰时会从所有符合条件的键中随机采样N个然后淘汰其中“最近最少使用”或“最不经常使用”的键采样数量越多淘汰越精准但消耗的CPU资源越多。实战建议保持默认5若对淘汰精准度要求高可调整为10CPU消耗可忽略。六、高可用配置Replication/Cluster—— 保证服务稳定高可用是生产环境的核心需求Redis通过主从复制、哨兵模式、集群模式实现高可用以下是核心配置详细的高可用部署流程可参考后续单独文章。6.1 主从复制配置基础高可用主从复制的核心是“一个主节点master多个从节点replica主节点负责写操作从节点负责读操作主节点的数据同步到从节点”实现读写分离和数据冗余。6.1.1 replicaof指定主节点地址从节点配置默认配置# replicaof masterip masterport注释状态含义在从节点的配置文件中指定主节点的IP和端口让从节点主动连接主节点同步数据Redis 5.0 用replicaof5.0以下用slaveof。示例replicaof 192.168.1.100 6379表示当前从节点连接IP为192.168.1.100、端口为6379的主节点。6.1.2 masterauth主节点密码从节点配置默认配置# masterauth master-password注释状态含义若主节点设置了访问密码requirepass从节点必须配置该参数否则无法连接主节点同步数据。示例masterauth 123456与主节点的requirepass保持一致。6.1.3 replica-serve-stale-data从节点同步期间是否响应旧数据默认配置replica-serve-stale-data yes含义当从节点与主节点断联如网络故障或正在同步数据时是否允许从节点响应客户端的读请求返回旧数据。详细说明yes默认允许响应旧数据保证读服务不中断但数据可能陈旧no除INFO、PING等少数命令外拒绝响应读请求返回错误“SYNC with master in progress”适合对数据一致性要求高的场景。6.1.4 replica-read-only从节点是否只读默认配置replica-read-only yes含义设置从节点是否为只读模式禁止执行写操作。实战建议保持默认yes防止误操作从节点导致主从数据不一致若需要临时在从节点执行写操作如调试可通过CONFIG SET replica-read-only no动态修改。6.1.5 repl-diskless-sync是否开启无盘同步默认配置repl-diskless-sync no含义主节点向从节点同步数据时是否使用无盘同步直接通过Socket传输RDB数据不写入磁盘。详细说明no默认使用磁盘同步主节点先将RDB数据写入磁盘再发送给从节点适合网络一般但磁盘性能较好的场景且可复用RDB文件给多个从节点yes开启无盘同步主节点直接通过Socket将RDB数据发送给从节点不写入磁盘适合磁盘速度极慢但网络速度极快的场景如SSD性能差万兆网卡。6.2 集群配置Redis ClusterRedis Cluster用于实现分布式部署将数据分片存储在多个节点实现高可用和高并发核心配置如下仅列出关键项6.2.1 cluster-enabled是否启用集群模式默认配置cluster-enabled no含义控制当前Redis实例是否以集群节点的身份运行开启后才能加入Redis集群。实战建议集群部署时设置为cluster-enabled yes非集群部署保持默认no。6.2.2 cluster-config-file集群配置文件默认配置cluster-config-file nodes.conf含义集群节点的配置文件由Redis自动生成和更新无需手动编辑用于存储集群节点信息、分片信息等。6.2.3 cluster-node-timeout节点超时时间默认配置cluster-node-timeout 15000含义集群中节点的超时时间单位为毫秒若某个节点超过该时间未响应集群会判定该节点下线并触发故障转移。实战建议保持默认15000ms15秒若网络不稳定可适当增大该值如20000ms。七、安全配置Security—— 防止未授权访问Redis默认无密码、可直接访问若暴露在外网极易被攻击如篡改数据、植入挖矿程序安全配置是生产环境的必选项。7.1 requirepass访问密码默认配置# requirepass foobared注释状态默认无密码含义设置Redis的访问密码客户端连接Redis时需通过AUTH 密码命令认证后才能执行命令。示例requirepass 123456Abc!建议设置复杂密码包含字母、数字、特殊符号避免简单密码被破解。注意设置密码后使用redis-cli连接时需加上密码参数redis-cli -a 123456Abc!或连接后执行AUTH 123456Abc!认证。7.2 rename-command重命名/禁用危险命令默认配置无危险命令默认可用含义重命名或禁用Redis中的危险命令如FLUSHDB、FLUSHALL、CONFIG等防止误操作或恶意攻击。示例常用配置# 禁用FLUSHDB清空当前数据库和FLUSHALL清空所有数据库命令 rename-command FLUSHDB rename-command FLUSHALL # 重命名CONFIG命令避免恶意修改配置 rename-command CONFIG CONFIG_MD5 # 重命名DEL命令防止误删数据可选 rename-command DEL SAFE_DEL详细说明将命令重命名为空字符串表示禁用该命令重命名为其他字符串需记住新命令名才能执行该命令。实战建议生产环境必须禁用FLUSHDB、FLUSHALL命令CONFIG命令可重命名避免恶意修改配置。八、客户端配置Clients—— 控制客户端连接客户端配置主要控制Redis允许的客户端连接数、连接缓冲区等避免因客户端连接过多导致Redis性能下降。8.1 maxclients最大客户端连接数默认配置maxclients 10000含义Redis允许同时连接的最大客户端数量超过该数量后新的客户端连接会被拒绝返回错误。详细说明生产环境需根据业务并发量调整例如高并发场景每秒万级请求可设置为maxclients 50000同时需优化内核参数net.core.somaxconn确保内核允许足够的连接队列。8.2 client-output-buffer-limit客户端输出缓冲区限制默认配置client-output-buffer-limit normal 0 0 0 client-output-buffer-limit replica 256mb 64mb 60 client-output-buffer-limit pubsub 32mb 8mb 60含义限制客户端输出缓冲区的大小避免某个客户端占用过多内存如客户端读取大量数据时缓冲区堆积过多数据。详细说明格式client-output-buffer-limit 客户端类型 硬限制 软限制 软限制时间normal普通客户端如redis-cli、应用程序客户端默认0 0 0表示无限制replica从节点客户端主节点向从节点同步数据时的连接硬限制256mb缓冲区达到256mb时立即断开连接软限制64mb缓冲区达到64mb且持续60秒断开连接