2011-09-17 34 views
1

是否可以計算/估計變量(字符串,數組,但大部分是數組)的大小(以KB爲單位)。發生的情況是,我們在memcache中存儲了一些數據,並且我們想知道數據在memcache內需要佔用多少內存空間。php變量的大小(以KB爲單位)

回答

4

我相信PHP的memcache實現在存儲到memcached時使用serialize。你可以簡單地serialize輸出,並檢查它的大小:

<?php 
$data = array('foo' => 'bar'); 
$serialized_data = serialize($data); 
$size = strlen($serialized_data); 
print($size * 8/1000); 
?> 
+0

請記住,如果你使用的Memcache有指示,如果數據將被壓縮的標誌(MEMCACHE_COMPRESSED)。所以,如果數據被壓縮,那麼大小可能會改變。 – santiagobasulto

+0

對,還有'HAVE_JSON',它會使用json序列化而不是php序列化。不幸的是,我不知道使用了什麼壓縮(但我假設gzip),這樣只會讓猜測結果的大小變得更難。 「 – six8

+0

」使用MEMCACHE_COMPRESSED存儲壓縮的項目(使用zlib)「雖然確實太好了,但確實太多了:) – santiagobasulto

相關問題