强烈推荐一个大神的人工智能的教程:http://www.captainai.net/zhanghan
【前言】
最近项目一个需求,需要借助于redis缓存来实现,发现需要存的value值有些大;究竟有多大那???伴随这个疑问,开始一场探索之旅。
【探索value值大小】
一、安装redis-rdb-tools(项目地址:github)
二、获取redis的rdb文件
1、确保redis的配置文件(redis.conf)开启rdb备份
save 900 1
save 300 10
save 60 10000
rdbcompression yes
dbfilename dump.rdb
2、在redis的目录下找到dump.rdb文件
三、利用redis-rdb-tools对rdb文件解析成CSV文件(生成一个result.csv),命令:
rdb -c memory dump.rdb > result.csv
四、result.csv内容
五、有时候key值特别多,可以将CSV文件导入mysql中
1、mysql建表语句
CREATE TABLE `rdb` (
`DATABASE` int(11) DEFAULT NULL,
`type` varchar(128) DEFAULT NULL,
`KEY` varchar(128) DEFAULT NULL,
`size_in_bytes` int(11) DEFAULT NULL,
`encoding` varchar(128) DEFAULT NULL,
`num_elements` int(11) DEFAULT NULL,
`len_largest_element` varchar(128) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2、利用navicat等mysql客户端将CSV导入到表中,可以很方便进行查看;
【总结】
1、查看redis的值大小,有助于我们分析系统,如果特别大可以做一些拆分等优化;
2、多些疑问,多些探索和实践。