Memcache очистить все не пустые плиты?
Я использую команду flush all, чтобы удалить все пары ключ / значение на моем сервере Memcache.
Хотя значения удаляются, есть две вещи, которые я не могу понять, глядя на сервер Memcache через phpMemcachedAdmin
Использование памяти не сбрасывается в 0 после очистки всего этого. Я до сих пор использую 77% и 22% впустую (просто пример, но вы получите дух). Как это возможно?
Все предыдущие плиты с предыдущими предметами все еще там. Например, при просмотре определенного сляба будут показаны все предыдущие пары ключ / значение, несмотря на команду flush all. Как это возможно?
Спасибо
1 ответ
Это происходит потому, что memcache сбрасывается при чтении, а не при записи. Когда вы запускаете flush_all, эти операции предназначены для повышения производительности: это просто означает, что все, что было прочитано после этого времени, немедленно истечет, даже если оно все еще находится в кэше. Он просто обновляет один номер, а затем проверяет его при каждой загрузке.
Эта оптимизация значительно улучшает производительность memcache. Представьте, что несколько других людей ищут или вставляют одновременно как флеш.