我有一个处理大约 10.000 个不可变对象的 C# 应用程序,每个对象的大小为 50KB - 1MB。该应用程序为每个操作挑选大约 10-100 个对象。选择哪些对象取决于环境和用户选择,但有一些是非常常用的。
将所有对象一直保存在内存中是太多了,但是磁盘访问时间很紧迫。我想使用基于流行度的缓存来减少磁盘活动。缓存将包含最大值。300 个对象。我希望在使用模式期间决定应该缓存哪一个。我可以轻松地为每个对象添加访问计数器。更受欢迎的进入,不太受欢迎的必须离开缓存。有没有一种简单、巧妙的方法来做到这一点,而无需编码我的屁股?