1
是否可以计算/估计变量(字符串,数组,但大部分是数组)的大小(以KB为单位)。发生的情况是,我们在memcache中存储了一些数据,并且我们想知道数据在memcache内需要占用多少内存空间。php变量的大小(以KB为单位)
是否可以计算/估计变量(字符串,数组,但大部分是数组)的大小(以KB为单位)。发生的情况是,我们在memcache中存储了一些数据,并且我们想知道数据在memcache内需要占用多少内存空间。php变量的大小(以KB为单位)
我相信PHP的memcache实现在存储到memcached时使用serialize。你可以简单地serialize
输出,并检查它的大小:
<?php
$data = array('foo' => 'bar');
$serialized_data = serialize($data);
$size = strlen($serialized_data);
print($size * 8/1000);
?>
请记住,如果你使用的Memcache有指示,如果数据将被压缩的标志(MEMCACHE_COMPRESSED)。所以,如果数据被压缩,那么大小可能会改变。 – santiagobasulto
对,还有'HAVE_JSON',它会使用json序列化而不是php序列化。不幸的是,我不知道使用了什么压缩(但我假设gzip),这样只会让猜测结果的大小变得更难。 “ – six8
”使用MEMCACHE_COMPRESSED存储压缩的项目(使用zlib)“虽然确实太好了,但确实太多了:) – santiagobasulto