2008-09-18 6 views
1

Я использую memcache для создания кеша для слоя модели веб-приложения, одной из моих самых больших проблем является согласованность данных. Он пришел к моим кэширования данных ума, как это: (ключ = запрос, значение = список объектов идентификаторами результат запроса) для каждого идентификатора из списка: (ключ = object.id, значение = объект)Как избежать дублирования копии объекта в кеше?

Итак, каждый раз, когда запрос выполняется: Если запрос уже существует, я извлекаю объекты, указанные в списке из кеша. Если это не так, все объекты списков сохраняются в кеше, заменяя любое другое старое значение.

Кто-нибудь использует эту альтернативу, это бог? любые другие идеи?

+0

Спасибо! Я развиваюсь в php. – Lucia 2008-09-18 14:26:36

ответ

1

Кэширование - одна из тех тем, где нет ни одного правильного ответа - это зависит от вашего домена.

Политики кэширования, которые вы описываете, могут быть достаточными для вашего домена. Однако вы, похоже, не беспокоитесь о устаревших данных. Часто я ожидаю увидеть временную метку против некоторых объектов - если кешированное значение больше, чем какой-либо системный параметр, тогда он будет считаться устаревшим и повторно выбранным.

Для более подробного обсуждения по алгоритмам кэширования см Wikipedia (для начинающих)

0

Добро пожаловать в мир программирования параллелизма. Вы хотите немного узнать о mutual exclusion. Если вы сообщите нам, какой язык/платформа вы разрабатываете, мы можем более подробно описать ваши варианты.