Суть проблемы в том, что вы не знаете, что это за ключ, так как он генерируется md5.
Однако вы можете решить проблему, не сохраняя данные для этого запроса.
Ваш запрос может выглядеть следующим образом: «ВЫБЕРИТЕ my_data. * ОТ my_data WHERE условия»
Однако вы можете уменьшить избыточность данных, используя вместо этого запрос
ВЫБРАТЬ my_data.id ОТ my_data ГДЕ условия
За которым следует
Memcache.mget (идентификаторы)
Это не запретит возврат данных, которые больше не соответствуют условиям, но может уменьшить возврат устаревших данных.
-
Другой вариант - изучить использование пространств имен: см. Здесь:
http://code.google.com/p/memcached/wiki/NewProgrammingTricks#Namespacing
Вы можете задать пространство имен всем основным запросам. Вы не сможете удалить ключи, но вы можете изменить идентификатор версии ключа, который фактически истечет ваши данные.
Логически грязно, но вы можете использовать его для нескольких плохих запросов.
-
наконец, вы можете хранить эти запросы на другом сервере memcache и выполнять более частую очистку.