优化Ubuntu Redis内存管理可从以下方面入手:
- 限制最大内存:在
/etc/redis/redis.conf中设置maxmemory参数,根据服务器内存情况合理分配,避免过度占用。 - 选择合适淘汰策略:通过
maxmemory-policy配置内存不足时的淘汰方式,常用策略包括:allkeys-lru:从所有键中淘汰最近最少使用的键(推荐)。volatile-lru:仅从设置了过期时间的键中淘汰最近最少使用的键。allkeys-lfu:从所有键中淘汰使用频率最低的键(Redis 4.0+支持)。
- 优化数据结构:根据业务需求选择高效的数据结构,如用哈希表存储对象,减少键值对数量。
- 调整持久化策略:
- RDB(快照):适合备份,通过
save参数控制保存频率。 - AOF(追加文件):适合数据完整性,可设置
appendfsync everysec平衡性能与安全。
- RDB(快照):适合备份,通过
- 清理过期数据:启用定期删除+惰性删除机制,及时释放过期键占用的内存。
- 监控与调优:使用
redis-cli info memory或第三方工具(如RedisInsight)监控内存使用,定期优化配置。
修改配置后需重启Redis服务生效:sudo systemctl restart redis-server。