У меня есть приложение C#, которое обрабатывает около 10.000 неизменяемых объектов, каждый из которых имеет размер 50 КБ - 1 МБ. Приложение выбирает около 10-100 объектов для каждой операции. Какие объекты выбраны, зависит от обстоятельств и выбора пользователя, но есть несколько, которые очень часто используются.Решение для кэширования на основе популярности
Сохранение всего объекта в памяти все время, слишком много, но время доступа к диску - нажатие. Я бы хотел использовать кеш популярности, чтобы уменьшить активность диска. Кэш будет содержать макс. 300 объектов. Я ожидаю, что во время шаблонов использования решает, какой из них следует кэшировать. Я могу легко добавить счетчик доступа к каждому объекту. Чем более популярным становится, тем менее популярным приходится покидать кеш. Есть ли простой, изобретательный способ сделать это без кодирования моего приклада?
+1 для не изобретательного колеса. Наверное, важно знать, что OP хочет использовать скользящее окончание, которое будет предпочтительно хранить наиболее часто используемые элементы в кеше. –