@joger

Zend: Cache чистится сам по себе

есть портал работающий на Zende.
В качестве кэша используется Memcache (через Zend)
Под ключом «ipList» сохраняю строку json с информацией о ip на сайте.
Информация обновляется несколько раз в секунду.
Время от времени (0-50 секунд) информация удаляется без моего вмешательства.

Из-за чего такое может происходить?

Смотрел уже длину строки, спец. знаки — ничего.
Другие ключи при этом сохраняются «вечно»
  • Вопрос задан
  • 3009 просмотров
Пригласить эксперта
Ответы на вопрос 6
taliban
@taliban
php программист
www.php.net/manual/ru/memcached.expiration.php Второй абзац. Может быть в этом дело? Может ему не хватает мапяти и он кое что втихоря удаляет.
Ответ написан
shushu
@shushu
Если все настройки правильные, и другие ключи сохраняются — ищите ошибку в коде. 99% именно там она и есть, где то перезаписываете пустым значением.
Ответ написан
leshka
@leshka
посмотрите именно в конфиге мемкашеда, там стоит стандартное значение и оно очень маленькое
Ответ написан
@egorinsk
Но кеш не предназначен для хранения данных. Нафига вы там что-то храните? Так сложно поставить какой-нибудь редис или что-нибудь в этом роде? Или, что еще проще — сделайте в MySQL базу данных с типом MEMORY, она работает, говорят, со скоростью, аналогичной мемкешу.

Также, вопрос! Если вы работаете через UDP, там нет ограничений на размер пакета и размер данных?

Сам мемкеш трет ключи либо когда истекает время хранения, либо когда его попросят, либо когда заканчивается память. Так что скорее всего баг в вашем коде, ну что — пишите в лог все обращения к мемкешу и потом разбирайте этот лог и смотрите, где накосячили.
Ответ написан
Комментировать
persona
@persona
Собственно при сохранении в memcache можно указать ttl. Возможно Zend Cache некорректно его устанавливает, проверьте.
Ответ написан
Комментировать
Возможно, что зенд кеширует свою служебную информацию туда и место заканчивается.
Сколько у Вас выделено памяти под мемкеш?
Попробуйте через телнет приконнектиться и помониторить статистику.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы