Я много раз читал о переполнении стека и в других местах, что stats cachedump
не поддерживается, скоро будет удален, ограничен сбросом 1 МБ и т. Д. Тем не менее, поскольку я только начинаю играть с memcached, я было бы очень удобно перечислить все (очень немногие) ключи, которые я устанавливаю в процессе разработки.
Однако то, что я сейчас получаю, это крайне противоречивые, едва полезные результаты. Посмотрите этот пример сеанса, где я очищаю все, затем устанавливаю три очень маленьких элемента (для ясности добавлены пустые строки):
flush_all
set key1 0 0 3
aaa
STORED
set key2 0 0 3
bbb
STORED
set key3 0 0 3
ccc
STORED
Тогда stats items
говорит, что в плите 1 есть 3 элемента, как и ожидалось:
stats items
STAT items:1:number 3
STAT items:1:number_hot 0
STAT items:1:number_warm 0
STAT items:1:number_cold 3
STAT items:1:age_hot 0
STAT items:1:age_warm 0
STAT items:1:age 3
STAT items:1:evicted 0
STAT items:1:evicted_nonzero 0
STAT items:1:evicted_time 0
STAT items:1:outofmemory 0
STAT items:1:tailrepairs 0
STAT items:1:reclaimed 0
STAT items:1:expired_unfetched 0
STAT items:1:evicted_unfetched 0
STAT items:1:evicted_active 0
STAT items:1:crawler_reclaimed 0
STAT items:1:crawler_items_checked 0
STAT items:1:lrutail_reflocked 57
STAT items:1:moves_to_cold 23
STAT items:1:moves_to_warm 20
STAT items:1:moves_within_lru 0
STAT items:1:direct_reclaims 0
STAT items:1:hits_to_hot 0
STAT items:1:hits_to_warm 0
STAT items:1:hits_to_cold 23
STAT items:1:hits_to_temp 0
END
Но когда я пытаюсь перечислить все элементы в блоке 1, результаты полностью противоречивы. Часто перечисляет 2 произвольных ключа из 3, но иногда перечисляет все 3 (что доказывает, что все данные есть и их не выселили):
stats cachedump 1 0
ITEM key1 [3 b; 0 s]
ITEM key2 [3 b; 0 s]
END
stats cachedump 1 0
ITEM key3 [3 b; 0 s]
ITEM key2 [3 b; 0 s]
END
stats cachedump 1 0
ITEM key2 [3 b; 0 s]
ITEM key1 [3 b; 0 s]
END
stats cachedump 1 0
ITEM key2 [3 b; 0 s]
ITEM key1 [3 b; 0 s]
ITEM key3 [3 b; 0 s]
END
stats cachedump 1 0
ITEM key2 [3 b; 0 s]
ITEM key1 [3 b; 0 s]
ITEM key3 [3 b; 0 s]
END
stats cachedump 1 0
ITEM key2 [3 b; 0 s]
ITEM key3 [3 b; 0 s]
END
Что с этим делать? Это ожидаемое поведение?
Я использую последнюю версию memcached 1.5.8 на macOS.