数码资讯
对Redis的各种数据大小的统计方法
如果数据库比较大,我们可以很容易地找到占据的表,但如果redis内存大,很不容易找到了什么样的空间需要。 有一些工具,例如提供必要的帮助,Redis的RDB工具可以直接分析RDB文件生成报告,但不幸的是,它无法达到我们的需要100%,我不想发展它在两次的基础。事实上,开发专用的工具很简单,如扫描和调
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
如果数据库比较大,我们可以很容易地找到占据的表,但如果redis内存大,很不容易找到了什么样的空间需要。
有一些工具,例如提供必要的帮助,Redis的RDB工具可以直接分析RDB文件生成报告,但不幸的是,它无法达到我们的需要100%,我不想发展它在两次的基础。事实上,开发专用的工具很简单,如扫描和调试,没有行代码可以实现。
复制代码代码如下所示:
< PHP
$模式=数组(
+:+,
酒吧:+,
+,
);
Redis =新的Redis(美元);
$ redis -> SetOption(redis::::opt_scan,Redis scan_retry);
结果= array_fill_keys美元(合模式,0);
而($键= $ redis ->扫描($,$匹配= *,$数= 1000)){
foreach($键达关键){
foreach(美元美元模式模式){
如果(preg_match( / ^ { $模式} $ /
如果($ V = $ redis ->调试($键)){
结果{ } =美元美元美元模式V { 'serializedlength};
}
打破;
}
}
}
}
var_dump($结果);
>
当然,前提是您需要提前总结可能的关键模式,而简单但不严格的方法是监视器:
复制代码代码如下所示:
壳> / / /路径使用CLI监视|
awk -F2美元~ '添加|集|店|推{ }印4美元
更重要的是,我们应该注意的是,由于serializedlength返回调试后的长度的序列化,因此最终计算值比实际的内存占用,但考虑到相对规模仍有参考意义。
有一些工具,例如提供必要的帮助,Redis的RDB工具可以直接分析RDB文件生成报告,但不幸的是,它无法达到我们的需要100%,我不想发展它在两次的基础。事实上,开发专用的工具很简单,如扫描和调试,没有行代码可以实现。
复制代码代码如下所示:
< PHP
$模式=数组(
+:+,
酒吧:+,
+,
);
Redis =新的Redis(美元);
$ redis -> SetOption(redis::::opt_scan,Redis scan_retry);
结果= array_fill_keys美元(合模式,0);
而($键= $ redis ->扫描($,$匹配= *,$数= 1000)){
foreach($键达关键){
foreach(美元美元模式模式){
如果(preg_match( / ^ { $模式} $ /
如果($ V = $ redis ->调试($键)){
结果{ } =美元美元美元模式V { 'serializedlength};
}
打破;
}
}
}
}
var_dump($结果);
>
当然,前提是您需要提前总结可能的关键模式,而简单但不严格的方法是监视器:
复制代码代码如下所示:
壳> / / /路径使用CLI监视|
awk -F2美元~ '添加|集|店|推{ }印4美元
更重要的是,我们应该注意的是,由于serializedlength返回调试后的长度的序列化,因此最终计算值比实际的内存占用,但考虑到相对规模仍有参考意义。
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。