Memcache очистить все не пустые плиты?

Я использую команду flush all, чтобы удалить все пары ключ / значение на моем сервере Memcache.

Хотя значения удаляются, есть две вещи, которые я не могу понять, глядя на сервер Memcache через phpMemcachedAdmin

  1. Использование памяти не сбрасывается в 0 после очистки всего этого. Я до сих пор использую 77% и 22% впустую (просто пример, но вы получите дух). Как это возможно?

  2. Все предыдущие плиты с предыдущими предметами все еще там. Например, при просмотре определенного сляба будут показаны все предыдущие пары ключ / значение, несмотря на команду flush all. Как это возможно?

Спасибо

1 ответ

Решение

Это происходит потому, что memcache сбрасывается при чтении, а не при записи. Когда вы запускаете flush_all, эти операции предназначены для повышения производительности: это просто означает, что все, что было прочитано после этого времени, немедленно истечет, даже если оно все еще находится в кэше. Он просто обновляет один номер, а затем проверяет его при каждой загрузке.

Эта оптимизация значительно улучшает производительность memcache. Представьте, что несколько других людей ищут или вставляют одновременно как флеш.

Другие вопросы по тегам