Memcached отдает просроченные значения

1. Кладем в memcached ключик со временем жизни 15 минут. Ключ привязан к юзеру (это флаг его активности на сайте), то есть для кого-то его может и не быть вообще.
2. Ожидается, что через 15 минут после ухода пользователя memcached ключ отдавать не будет (ибо просрочится). Однако, он отдается. Так как мы проверяем только наличие самого ключа в кеше (не будем обсуждать, что можно сделать лучше и надежнее), то обработчик считает, что пользователь все еще в онлайне.
3. Проверяю наличие ключа в memcached через get - действительно отдается. Смотрю на него через stats cachedump - лежит в кеше с просроченным timestamp (что-то вроде ITEM user_visit_site_at_xxxx [10 b; 1387775909 s]). Конечно, ключик с expires=1387775909 (23.12.2013) не должен отдаваться get'ом.

Собственно говоря, вопрос - кто-нибудь с таким сталкивался? Как побеждали? Memcached v1.4.15, крутится на центосе. Гугл выдал мне разве что grokbase.com/t/gg/memcached/141q2s1g80/certain-ite... из похожего, но там ответа нет.
  • Вопрос задан
  • 2318 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы