码迷,mamicode.com
首页 > 编程语言 > 详细

基于Python项目的Redis缓存消耗内存数据简单分析(附详细操作步骤)

时间:2018-07-04 22:58:12      阅读:208      评论:0      收藏:0      [点我收藏+]

标签:服务   result   结合   tools   性能   font   pad   价值   one   

Redis:一个高性能的key-value数据库。支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用;提供string、list、set、zset、hash等数据结构的存储,并支持数据的备份。

 

 

本文适合使用的场景:当一个项目中Redis缓存的数据量逐渐增大,Redis缓存的数据占用内存也会越来越大,而且其中有很多很可能是价值不大的数据。由于Redis是一个key-value数据库,所以对其中的数据进行分析没有mysql数据库那么直观。那么此时,我们需要寻找工具来分析Redis缓存中的哪些数据占用内存比较大,并结合项目实际的情况来分析这些数据存储的价值如何?从而作出具体删减数据的方案,来解放服务器端宝贵的内存资源。

 

本文需要采用的工具:Rdbtools和MySQL。

Rdbtools:使用Python语言编写的,可以解析Redis的dump.rdb文件。此外,提供以下工具:

(1)跨所有数据库和密钥生成数据的内存报告

(2)将dump文件转换为JSON

(3)使用标准diff工具比较两个dump文件

具体源码GitHub链接:https://github.com/sripathikrishnan/redis-rdb-tools/

 

MySQL:一种开源且比较轻量级的关系型数据库。本文使用Rdbtools解析出Redis的dump.rdb文件并生成内存报告*.csv文件(PS:下文操作文件为result_facelive_hot.csv),然后把该文件导入到MySQL数据库中,最后通过编写具体的SQL语句脚本生成想要的数据分析结果的*.csv文件(PS:下午SQL脚本中生成的文件名为redis_key_storage.csv)

 

参考资料:

1.使用代码完成csv文件导入Mysql(https://blog.csdn.net/quiet_girl/article/details/71436108)

2.使用rdbtools工具来解析redis dump.rdb文件及内存使用量(http://www.ywnds.com/?p=8441)

3.MySQL必知必会:组合查询(Union)(https://segmentfault.com/a/1190000007926959)

 

 

基于Python项目的Redis缓存消耗内存数据简单分析(附详细操作步骤)

标签:服务   result   结合   tools   性能   font   pad   价值   one   

原文地址:https://www.cnblogs.com/jing1617/p/9265515.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!