Как избежать дублирования копий объекта в кеше?

StackOverflow https://stackoverflow.com/questions/92927

  •  01-07-2019
  •  | 
  •  

Вопрос

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

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

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

Это было полезно?

Решение

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

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

Дополнительную информацию об алгоритмах кэширования см. Википедия (для начинающих)

Другие советы

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top