服务公告

服务公告 > 产品动态 > S4-8G 部署 Redis 缓存的实践

S4-8G 部署 Redis 缓存的实践

发布时间:2026-01-08 17:22
Redis 是内存数据库,容量规划比任何参数都重要。S4-8G 上部署 Redis,思路是限额清楚、持久化想明白、淘汰策略选对,三件事都围绕一个目标:让内存按计划使用。 一、内存规划 先定 Redis 能用多少:和数据库同机时,给 Redis 设 2G 到 3G 的 maxmemory,绝不能不设上限——无上限的 Redis 会一路吃到系统 OOM,把同机的 MySQL 挤下线。容量估算从数据入手:抽样算单个键的平均大小和预计键数量,相乘再留一倍余量,就是 maxmemory 的合理起点,拍脑袋设值迟早返工。配置在 /etc/redis/redis.conf 里: maxmemory 3gb maxmemory-policy allkeys-lru 策略选 allkeys-lru,内存满时淘汰最久未用的键,纯缓存场景最常用。RDB 快照频率按数据容忍度定,默认规则对缓存够用;开 AOF 后 appendfsync 取 everysec,是性能和安全的平衡点。 二、持久化选择 两种模式想清楚:做纯缓存可以关掉持久化,重启后从数据库回源重建,性能最好;当存储用就必须开,appendonly yes 开 AOF,配合 RDB 快照双保险。开持久化要留意磁盘水位,AOF 重写期间会多占空间。关闭持久化前想清楚:重启后缓存全空,数据库要扛住全量回源压力,高峰期别做这个操作。 三、安全与验证 绑定与密码是底线:bind 127.0.0.1 只听本机,需要远程访问就绑定内网 IP 并设 requirepass 强密码。改完 systemctl restart redis-server,验证三步:redis-cli ping 回 PONG;redis-cli INFO memory 看 used_memory 与峰值;跑一轮业务看命中率涨没涨。业务侧接入用连接池复用连接,短连接高频创建白白耗性能;键名统一前缀,比如 app:user:123,排查和批量清理都方便。 四、常见报错 OOM command not allowed 说明触到 maxmemory:检查淘汰策略是否生效、键有没有缺过期时间。数据量逼近限额就该扩容或拆实例,别硬扛。延迟抖动则查大键和大批量删除,拆分处理即可。把 used_memory、命中率、连接数三项纳入日常巡检,曲线平稳就安心,突增突降必有原因,顺着时间点查变更。 Redis 的纪律就一条:内存是它的全部,限额、监控、淘汰策略都围绕这一件事展开。