我正在開發一個客戶端/服務器應用程序,其中服務器端保存大量數據,例如客戶端請求的大圖片或視頻文件,我需要創建一個內存中客戶端緩存系統來保存這些數據大數據來加速這個過程。要清楚的是,每個單獨的圖像或視頻都不是那麼大,但它們的整體尺寸可能非常大。緩存系統應該在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