воскресенье, 20 ноября 2011 г.

Re: Кеширование и инвалидация кеша

19 ноября 2011 г. 13:58 пользователь Arseniy Sluchevskiy
<arseniy.sluchevskiy@gmail.com> написал:
> Привет всем.
>
> Вот допустим мемкеш, мы там можем класть только пары  вида
> ключ-значение. Взять, положить. Нужно предусмотреть валидацию кеша для
> определенной модели/структуры данных после обновления данных в СУБД.
> Как это сделать без очистки ВСЕГО кеша? Мы ведь не можем пройтись по
> ключам в мемкеше и удалить только те которые начинаются, например, с
> определенного префикса?  Как решать проблему?
>
> Можно хранить список всех ключей в каком-то специальном ключе.
> Можно ввести какую-то переменную в которую класть дату инвалидации
> кеша для определенной модели, потом при get() сверяться с этой датой,
> если в кеше объект более старый - инвалидировать. Но нужно еще для
> каждой записи кеша хранить дату обновления.
По-моему у вас тут две разные задачи описаны. Для 1го случая надо
как-то отслеживать изменения данных и инвалидировать кэш вручную, для
второго - чем не устраивает стандартный функционал memcached, там же
при set'е можно задать время жизни кэша.


--
Anton Yanchenko

Комментариев нет:

Отправить комментарий