核心配置与性能优化
掌握核心配置文件参数
了解常见性能优化点
能根据服务器配置合理调参
核心讲解
(1)核心配置文件
Linux 默认配置文件:/etc/redis/redis.conf 核心配置分类:网络、内存、持久化、安全、性能等。
(2)核心配置项
表格
分类 | 参数 | 说明 | 建议值 |
|---|---|---|---|
网络 |
| 监听地址 | 生产不要 0.0.0.0,指定 IP |
| 端口,默认 6379 | 建议改默认端口 | |
| 保护模式 | 远程访问要设 no,配合密码 | |
内存 |
| 最大内存 | 系统内存的 70% 左右 |
| 淘汰策略 | allkeys-lru | |
持久化 |
| AOF 开关 | yes |
| AOF 刷盘策略 | everysec | |
| RDB 规则 | 根据业务 | |
安全 |
| 密码 | 生产必须强密码 |
| 重命名危险命令 | 重命名 CONFIG/FLUSHALL 等 | |
性能 |
| TCP 长连接保活 | 300 |
| 空闲连接超时 | 300 | |
| IO 线程数(Redis 6+) | CPU 核心数 |
(3)性能优化建议
内存优化:
控制键数量,避免大量小 key
合理选择数据结构,Hash 比 String 省空间
大 key 拆分,不要单个 value 太大
设置合理的过期时间,及时清理
命令优化:
避免 KEYS、FLUSHALL 等危险命令
批量操作优先 MGET/MSET,减少网络往返
慢命令优化,大集合迭代用 SSCAN
Lua 脚本合并多次操作
架构优化:
读写分离,主写从读
热点数据多副本
集群分片,大数据量水平扩展
操作示例
# 查看当前配置
redis-cli CONFIG GET maxmemory
redis-cli CONFIG GET maxmemory-policy
# 动态修改配置(临时,重启失效)
redis-cli CONFIG SET maxmemory-policy allkeys-lfu
# 查看内存使用
redis-cli INFO memory
# 查看慢日志
redis-cli SLOWLOG GET 10
常见误区
配置改了就生效:大部分配置 CONFIG SET 是临时的,改配置文件要重启才永久
内存设满:不要把 maxmemory 设成系统全部内存,要留系统和持久化的内存
bind 0.0.0.0 很方便:生产环境不要绑定所有地址,风险大,要限制 IP + 密码
配置越多越好:默认配置大部分是合理的,只改需要的,不要乱调
课后练习
修改 Redis 配置,设置密码
配置最大内存和淘汰策略
开启 AOF 持久化,设置每秒刷盘
查看 Redis 的内存使用和连接数信息
