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