0
我的memcached服務器上的統計信息顯示出一種奇怪的關係:total_items小於cmd_set。在這個服務器上運行的唯一操作是「設置」和「獲取」,沒有別的像「添加」,「替換」,「刪除」或基於CAS的操作。memcached統計信息total_items小於cmd_set
當我瀏覽memcached源代碼時,發現任何「正常」集(不包括CAS)都會替換或寫入該項,並且兩者都會增加total_items。
do_store_item() {
// ...
if (old_it != NULL)
item_replace(old_it, it, hv);
else
do_item_link(it, hv);
// ...
}
do_item_link()增加TOTAL_ITEMS和item_replace()也呼籲do_item_link()。那麼total_items如何能小於cmd_set?從memcached的統計
摘錄(縮進的可讀性號):
STAT cmd_set 12827359728
STAT total_items 4237422053
STAT curr_items 60745375
STAT expired_unfetched 9898430934
STAT evicted_unfetched 30415090
STAT evictions 30421532
STAT reclaimed 9900995350
沒有答案。呃,看起來每個人都和我一樣無知。因此我打開了一個memcached Bug:https://github.com/memcached/memcached/issues/161 –