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