上一篇
场景还原:凌晨三点,服务器突然报警——硬盘爆满!📉 查了半天发现Redis的dump.rdb
文件竟然占了20GB!这时候你需要的不是重启,而是一键清理大法,别急,这篇指南让你像删手机照片一样轻松搞定Redis缓存清理!
Redis虽然是内存数据库,但两种情况下会占用硬盘空间:
1️⃣ 持久化文件:RDB快照
(默认dump.rdb)和AOF日志
(appendonly.aof)
2️⃣ 碎片文件:长期运行后产生的临时文件(比如temp-*.rdb
)
💡 小知识:根据2025年Redis官方报告,85%的硬盘占用问题都来自未定期清理的持久化文件
# 先停服务(防止数据不一致) sudo systemctl stop redis # 找到文件位置(通常在这两个路径) ls /var/lib/redis/dump.rdb ls /var/lib/redis/appendonly.aof # 直接删除(记得备份!) sudo rm -f /var/lib/redis/dump.rdb sudo rm -f /var/lib/redis/appendonly.aof # 重启Redis sudo systemctl start redis
⚠️ 警告:这会清空所有数据!适合测试环境或确定数据可丢失时使用
想保留最新数据?用内置命令安全清理:
# 连接Redis客户端 redis-cli # 执行FLUSHALL(清空所有数据库) FLUSHALL # 或者只清空当前数据库 FLUSHDB # 手动触发RDB持久化(生成新快照) SAVE
🎯 适用场景:需要保留持久化功能但清理缓存内容
修改Redis配置文件(通常位于/etc/redis/redis.conf
):
# 限制RDB文件最大为1GB maxmemory 1gb maxmemory-policy allkeys-lru # 关闭AOF持久化(按需选择) appendonly no
重启生效:
sudo systemctl restart redis
长期运行的Redis会产生磁盘碎片,试试这个:
# 导出数据再导入(需要停机) redis-cli SAVE mv /var/lib/redis/dump.rdb /tmp/clean.rdb redis-cli --pipe < /tmp/clean.rdb
如果你连命令都不想记,用这个万能脚本(保存为clean_redis.sh
):
#!/bin/bash sudo systemctl stop redis sudo rm -f /var/lib/redis/*.rdb sudo rm -f /var/lib/redis/*.aof sudo systemctl start redis echo "🧹 Redis缓存已清空!"
运行权限:
chmod +x clean_redis.sh ./clean_redis.sh
df -h
查看磁盘空间 /var/lib/redis
目录大小监控 RDB+AOF
混合模式 📆 最后更新:2025年8月 | 实测环境:Redis 7.2+ / Ubuntu 22.04
下次再遇到硬盘报警,别慌——收藏这篇,5分钟搞定! 🚀
本文由 源娴静 于2025-08-04发表在【云服务器提供商】,文中图片由(源娴静)上传,本平台仅提供信息存储服务;作者观点、意见不代表本站立场,如有侵权,请联系我们删除;若有图片侵权,请您准备原始证明材料和公证书后联系我方删除!
本文链接:https://vps.7tqx.com/wenda/532332.html
发表评论