2015-12-18 3 views
2

В каких сценариях лучше использовать протокол обновления против протокола invalidate? Также, когда было бы лучше использовать invalidate vs update?Когда использовать Update vs Invalidate Cache Protocols

Я не могу думать о каких-либо сценариях, в которых либо будет использоваться. Если вы собираетесь аннулировать строку кэша, почему бы просто не обновить ее одновременно?

+0

Помогает ли мой ответ? –

ответ

1

Квалификация недействительна может быть на нескольких основаниях. Он может быть основан на времени, скользящем окне, основанном на других элементах в кеше, или может быть из любого источника данных.

Обновление кеша относительно более дорогостоящее. Учитывая, что ваш источник данных, это может стоить вам драгоценных ресурсов для чего-то, что не понадобится в течение некоторого времени.

Таким образом, вопрос будет заключаться в том, почему недействительные элементы и почему/когда следует их обновлять?

Ну, это полностью зависит от вашего использования. Вы хотите, чтобы ваши товары автоматически истекали или имели зависимость от любого элемента.

Когда и почему вы хотите их обновить, также зависит от вашего прецедента. Вам нужен этот элемент, если он не был доступен в течение последних 15 минут или часов? Почему бы не обновить его, только если он был признан недействительным или истек.

В кэшах есть еще одна концепция чтения. Он требует обновления элемента из вашего источника данных, если он не существует в кеше.