当前位置: 首页> 科技> 名企 > Redis实践记录与总结

Redis实践记录与总结

时间:2025/7/29 21:10:50来源:https://blog.csdn.net/qq_44031124/article/details/139295007 浏览次数:0次

        最近生产环境缓存数据库数据过大(如何搭建单服务redis缓存数据库?以及可视化工具Another Redis Desktop Manager使用),导致在对数据库做rdb快照备份时消耗内存过大,缓存数据库宕机一小时。基础运维通过增加虚拟机内存暂时解决问题,但随着垃圾数据的持续增长,终有一刻内存资源会耗尽,宕机问题重现。现在产品经理要求对缓存数据库进行降容。我针对这个问题提出了四个解决方案,最后一个方案解决问题。

        首先使用redis rdb tools 工具(redis rdb tools工具如何搭建?)对当前快照文件redis.rdb 进行分析,将缓存数据库中无用数据清除掉。在使用工具命令进行处理时报错:

          Invalid RDB version number 10     //提示目标rdb文件版本过高,无法进行分析

     上述报错的原因是:当前缓存使用的7版本,而7版本目前redis rdb tools对高版本的rdb文件分析的功能还没有上线,也就是说当前功能不兼容。

        紧接着上第二个方案,使用redis数据备份工具redis-dump将缓存数据备份成json文件,再将该json文件中的数据迁移到低版本redis数据库中,对低版本进行rdb文件备份,使用redis rdb tools工具进行分析。(redis-dump 工具安装与使用)生产环境64G的数据,在对测试环境6G(远小于64G)数据的缓存进行备份时访问出现connect time out 连接超时问题。最终调查结果是缓存数据过大,该工具不适用大数据量缓存。如果换成小数据量的缓存数据库该方案是可行的。

        接着使用第三个方案:新建主从复制服务器(如何搭建主从复制服务器?),将缓存数据同步到低版本redis(3.0)缓存数据库中。同样报错:

          Invalid RDB version number 10     //提示目标rdb文件版本过高,无法进行分析

        最后一个方案采用rdb与aof混合备份数据库的方式,来避免宕机问题。(如何搭建redis缓存混合持久化方案?)单独采用rdb快照容易丢失本地到下一次快照之间写入的数据。单独使用aof日志在系统启动时加载数据效率低。混合使用rdb与aof可以兼并两者的优点,互相补充短板。

Redis缓存数据库设计建议:缓存中的数据不要设置永久性数据,可以定时往数据库中同步数据。这样的好处有:1. 所有的数据都会过期并释放内存,不会产生未知垃圾。2. 定时同步可以保证数据新鲜,准确。

关键字:Redis实践记录与总结

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: