Взять реализацию кэша или самокрутку?

Лучшее (и я думаю чиновник), помещают для обнаружения об этом, находится на блоге Andrew Kennedy.

Вот (текущие) соответствующие сообщения.

, Поскольку я сказал в сообщении, что Ваша отвечающая сторона упомянула, это - совершенно определенно что-то, что Вы не МОЖЕТЕ сделать в C# (хотя мне жаль, что Вы не могли).

6
задан Henrik Paul 27 July 2009 в 06:19
поделиться

3 ответа

Для многих случаев сложных графов объектов у меня была достаточно хорошая производительность с однострочным

new MapMaker().weakKeys().makeMap();

Это создает карту с использованием коллекций Google , которые можно использовать как кеш для сложных объектов.

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

Так что я бы сказал для простых случаев - не беспокойтесь о «когнитивная нагрузка» распределенного кеша. Проблемы с сериализацией, задержкой и т. Д. Вы не захотите с ними справляться.

6
ответ дан 8 December 2019 в 13:01
поделиться

«Зачем мне писать статический класс, когда я смогу забрать готовый cache? "

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

3
ответ дан 8 December 2019 в 13:01
поделиться

Существует множество реализаций кеширования, как с открытым исходным кодом, так и коммерческих. Есть много проблем, связанных с написанием правильного кеша - время, когда объекты должны покинуть, политики выселения, постоянство, управление памятью и многое другое, поэтому я не стал бы запускать свой собственный (зачем изобретать велосипед?)

Take взгляните на одну из следующих реализаций:

Подробнее см. http://java-source.net/open- source / cache-solutions

9
ответ дан 8 December 2019 в 13:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: