Назад | Перейти на главную страницу

Memcached не может получить данные (уничтожен по истечении срока действия)

в настоящее время у меня есть три разных запущенных экземпляра memcached, каждый для среды (dev, test и live)

Во всех трех средах используется одна и та же версия memcached (1.4.5) и конфигурации с немного разными дистрибутивами и машинами Linux, а именно:

Моя проблема в том, что в реальной среде все кеширование безупречно, я устанавливаю некоторый ключ / значение, и он реагирует, как ожидалось, но в тесте и dev env приложение устанавливает некоторый ключ / значение, но не может его получить.

Регистрация вывода memcached с использованием -vvv дает мне некоторое представление о том, что происходит, когда он пытается получить ключи следующим образом:

<40 получить qZPh2MQDIs% 2BXTBrL3C7hiAcClZgOiklYwnz0a0LN6tY% 3D НАЙДЕННЫЙ КЛЮЧ qZPh2MQDIs% 2BXTBrL3C7hiAcClZgOiklYwnz0a0LN6tY% 3D. 0 2700 ?? -nuked по истечении срока действия

это ядерный по истечении срока действия сводит меня с ума, к счастью, моя live env в порядке.

Я дважды проверил конфигурацию NTP для серверов (я подумал, что, возможно, если дата была неправильной, истечение срока было в прошлом или что-то в этом роде), и все в порядке, ожидается, что мой кеш будет длиться 10 минут с этого момента, и все серверы синхронизированы по времени .

Итак, кто-нибудь может помочь мне узнать, что не так?

Хорошо, обнаружил, проблема заключалась в том, что даже при включенном NTP и "date", показывающем правильное локальное datetime, была неправильная конфигурация даты и времени UTC.

Решение: date +% T -u -s "фактическое-UTC-время"

Я не знаю, почему даже с NTP это было так, но просто дам обратную связь, если кто-то столкнется с той же проблемой: D