===^^===
《榴芒客服系统》是我们工作室开发的在线客服系统,欢迎下载试用:
《榴芒客服系统》https://blog.csdn.net/look4liming/article/details/164755808
网络与连接配置
bind
监听IP,默认127.0.0.1。生产环境应绑定内网IP,严禁设为0.0.0.0且不设密码,否则极易被入侵扫描。
port
监听端口,默认6379。
protected-mode
保护模式,默认yes。yes时,如果没有设置bind或密码,则只能本地访问。
timeout
客户端空闲连接超时时间(秒)。0表示永不超时。设太短会导致频繁重连,损失性能。
tcp-keepalive
TCP保活探测间隔(秒)。0表示不启用,建议设为300左右,释放死连接。
tcp-backlog
TCP连接队列长度,默认511。高并发场景可调大至1024,同时需同步调大系统内核参数somaxconn和tcp_max_syn_backlog才能生效。
maxclients
最大客户端连接数,默认10000。超过后新连接会被拒绝。
内存管理配置
maxmemory
Redis最大可用内存,单位支持kb、mb、gb。生产环境建议设为物理内存的60%-70%,并预留空间给操作系统和其他进程,避免OOM。
maxmemory-policy
内存达到上限后的淘汰策略,详细介绍,请参考我的另一篇博文《Redis缓存淘汰策略》。
maxmemory-samples
LRU/LFU/TTL算法的采样数量,默认5。调大到10更接近精确LRU但更耗CPU,调小到3更快但不准。
持久化配置
save
RDB快照触发条件,格式为save <秒> <改动次数>,可配多条满足任一即触发。默认是save 900 1、save 300 10、save 60 10000。
stop-writes-on-bgsave-error
RDB快照出错时是否停止写入,默认yes,防止数据损坏。
appendonly
是否开启AOF持久化,默认no。开启后每条写命令都会记录到AOF文件,重启时可恢复数据。
appendfsync
AOF同步策略,三个选项:
always:每次写操作都同步,最安全但最慢。
everysec:每秒同步一次,性能和安全折中,默认值。
no:由操作系统决定何时同步,最快但可能丢更多数据。
auto-aof-rewrite-percentage / auto-aof-rewrite-min-size
AOF自动重写触发条件。当AOF文件比上次重写时大了100%且超过64mb时触发重写,压缩文件体积。
aof-use-rdb-preamble
混合持久化(Redis 4.0+),AOF文件头部用RDB格式,后续用AOF格式,兼顾恢复速度和文件大小。
安全配置
requirepass
设置访问密码,客户端连接后需通过AUTH命令验证。生产环境必须设置强密码,避免弱口令被爆破。
ACL
Redis 6.0+的访问控制列表,可精细控制每个用户能执行的命令和访问的key,比requirepass更灵活。可以通过配置文件或aclfile外部文件定义用户和权限规则。
rename-command
可以重命名危险命令(如FLUSHALL、CONFIG),降低误操作或被攻击的风险。
通用与性能配置
daemonize
是否以守护进程方式后台运行,默认no。生产环境设为yes。
loglevel / logfile
日志级别(debug、verbose、notice、warning)和日志文件路径。生产环境建议warning级别并输出到独立文件。
databases
数据库数量,默认16(编号0-15)。Redis 6.0后更推荐用命名空间(key前缀)代替多库。
activerehashing
是否开启主动哈希重哈希,默认yes。开启能提升查询效率但消耗CPU,CPU紧张时可关闭。
client-output-buffer-limit
限制客户端输出缓冲区大小,防止慢客户端拖垮服务器。如normal 0 0 0表示普通客户端不限制,slave 256mb 64mb 60表示从节点硬限制256MB、软限制64MB持续60秒触发。
slowlog-log-slower-than / slowlog-max-len
慢查询日志阈值(微秒)和最大条数,默认10000(10毫秒)和128。生产环境建议调低阈值,方便排查性能问题。
hz
Redis每秒执行后台任务的频率,默认10。调高会加快过期key清理和内存淘汰,但更耗CPU。
配置管理方式
启动加载:redis-server /path/to/redis.conf。
运行时动态修改:CONFIG SET <参数> <值>,部分参数立即生效(如maxmemory、maxmemory-policy),但bind、port、daemonize等启动参数需重启生效。
持久化配置:CONFIG REWRITE可将运行时修改写回redis.conf文件。
查看当前配置:CONFIG GET *查看所有,或CONFIG GET <参数>查看单个。
修改配置前先在测试环境验证,确认无副作用再上生产。另外,Redis集群模式下每个节点需独立配置,且各节点淘汰策略应保持一致,避免数据分布不均。
快速参考建议
纯缓存场景:maxmemory设为物理内存的60%-70%,maxmemory-policy allkeys-lru,可关闭持久化(appendonly no)提升性能。
数据不能丢:开启AOF并设appendfsync everysec,可同时保留RDB做快速恢复;不要用noeviction,否则内存满会直接拒绝写入导致业务中断。
安全底线:绑定内网IP + 设置强密码(或ACL)+ 开启protected-mode,有条件再改默认端口。
监控与排查:开启慢查询日志(slowlog-log-slower-than),用INFO memory和redis-cli --stat观察内存和淘汰情况(evicted_keys),用redis-cli --intrinsic-latency测试系统延迟。
===^^===
《榴芒客服系统》是我们工作室开发的在线客服系统,欢迎下载试用:
《榴芒客服系统》https://blog.csdn.net/look4liming/article/details/164755808