基于redis key占用内存量分析


当前第2页 返回上一页

1. 将redis的dump.rdb文件下载到本地(一般redis的持久化文件以rdb的方式存储,在redis配置文件可以找到dump.rdb的存储路径)。

2. 用rdbtools工具生产内存报告,命令是 rdb -c memory,例子:

sudo rdb -c memory /redisfile/dump.rdb >test.csv

注意:rdb文件越大,生成时间越长。

Rdbtools是以python语言开发的。

GITHUP地址:https://github.com/sripathikrishnan/redis-rdb-tools/

3. 内存报告生成后,结合用linux sort命令排序,根据內存列排序,找出最高的key有哪些。例子:

sudo sort -k4nr -t , test.csv > sort.txt

4. 查看前1000个排序最高的数据

awk -F ',' '{print substr($3, 0,18)}' sort.txt | head -1000 | sort -k1 | uniq

5. 查看sort.txt的结果,一般能得出类似‘my_rank_top'开头的集合占用最高,排在了前面。

若要查看类似‘my_rank_top'开头的key总共占用了多少内存,可以用命令:

sudo cat sort.txt | grep ‘my_rank_top' | awk -F ',' '{sum += $4};END {print sum}'

6. 得知了my_rank_top这样的key占用最多内存,而且很可能是业务已经不再需要,但是长期在内存中没清理的,我们可以删除了这些集合。可以用模糊匹配key来删除,命令如下:

redis-cli -h 127.0.0.1 -p 6379 keys 'my_ranking_list*' | xargs redis-cli -h 127.0.0.1 -p 6379 del

另附:在本地启动redis加载dump.rdb文件时,一直load失败。搞了很长时间,终于找到原因:redis配置文件里databases要修改为256,本地默认是16,而产生原始dump.rdb的redis的databases就是25。

以上这篇基于redis key占用内存量分析就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。


标签:SQLite

返回前面的内容

相关阅读 >>

.net数据库操作框架sqlsugar的简单入门

Sqlitemanager怎么激活Sqlite数据库管理软件激活图文教程

Sqlite教程(十四):c语言编程实例代码(2)

Sqlite教程(三):数据表和视图简介

使用chrome浏览器调试android app详解

sqlserver、mysql、oracle三种数据库的优缺点总结

Sqlite3 使用总结

实例讲解Sqlite迁移到mysql脚本的方法_

初识Sqlite3数据库

关于若干数据库数据插入性能的对比分析

更多相关阅读请进入《Sqlite》频道 >>


数据库系统概念 第6版
书籍

数据库系统概念 第6版

机械工业出版社

本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...