我正在开发一个客户端/服务器应用程序,其中服务器端保存大量数据,例如客户端请求的大图片或视频文件,我需要创建一个内存中客户端缓存系统来保存这些数据大数据来加速这个过程。要清楚的是,每个单独的图像或视频都不是那么大,但它们的整体尺寸可能非常大。缓存系统应该在Windows上使用多少内存?
但是我面临着“我应该缓存多少数据”的问题,并且想知道在Windows上有什么黄金规则应该采用什么策略。缓存是在客户端完成的,我不需要在服务器上缓存。
- 我应该一直呆在全局内存使用量的x%以下吗?那会是多少?如果另一个程序启动并占用大量内存,应该如何清空缓存?
- 我应该在缓存之前请求多少可用内存,并根据需要使用该内存的固定百分比?
- 我希望我不必去那里,但我应该问用户他愿意分配给我的应用程序多少内存?如果是这样,我如何计算该属性的默认值以及那些永远不会使用该设置的人?
那么,一个图像可以由多个客户端请求?或者,可以在10分钟内多次请求一张图像? – Ampere 2011-06-10 11:32:19
图像可以由多个客户端请求,并在10分钟内多次请求,但我认为这是无关紧要的,因为我需要客户端而不是服务器的缓存策略。 – jonjbar 2011-06-10 11:42:33
我不明白。在服务器端,你想为每个客户端创建一个单独的缓存? – Ampere 2011-06-10 11:44:46