Вопрос для программистов:
Предположим, у нас имеется некий кеш, который должен содержать произвольные данные. Данные имеют срок годности, для каждой единицы данных разный, который определяется клиентом. Есть два способа общаться с таким кешем:
1. Когда что-то кладется в кеш, клиент говорит срок годности (возьми А и держи 5 минут)
2. Когда что-то берется из кеша, клиент говорит срок годности (дай мне А не старше 5 минут)
Есть ли какие-то причины предпочитать один из этих способов другому, и если да, то какие?
Tags:
no subject
Очистка может состоять в выкидывании суб-кеша -5-0 в урну :)
Разумеется, надо думать как именно разбить на суб-кеши -- даже наверное построить график распределения объектов по времени протухания.
no subject
Суб-кеши - это слишком сложно, больше времени уйдет на их управление, чем от них пользы будет, боюсь.
no subject
В случае, если скорость реакции кеша действительно супер-важна, отсечение ненужных кеш-деревьев из леса ускоряет поиск.
Другими словами нужно больше данных о том, как это должно работать :) Но лично мне кажется что от некоей уборщицы в кеше не убежать, значит будет логичнее хранить дату прокисания документа, чтобы минимализировать "а мы его пять минут назад убили" (скорость же важна) и как-то организовать очистку с пристрелом на нужды клиента (например очистка будет бить объекты когда время поиска в кеше подбирается к критическому).
Если лень писать самому то есть штуки типа EHCache, в которых и политики выселения запомненных элементов есть, и прочие мелкие нужности.