所以我試圖向我的Asp.Net應用程序中引入一些緩存。用戶的新數據以大數據集的形式從數據庫中返回。每當用戶請求數據時,我將這個數據集插入到HttpRunTime.Cache
。目前,我將緩存時間設置爲2-3小時。這些都是非常大的數據集,我經常用不同的密鑰將它們放入Cache中。我擔心的是這樣做會造成內存泄漏。 Asp.Net會處理Cache中過多的數據並刪除它嗎?另外,當緩存項目被Asp.Net或我使用Cache.Remove()
刪除時,僅刪除數據集的引用,還是從內存中收集數據集?有沒有一種情況下,數據集可能會從緩存中「刪除」,但仍然存在於內存中,導致性能問題?如果是這種情況,是否有明確的「垃圾收集」方法?Asp.Net從高速緩存中刪除項目時緩存和內存泄漏
1
A
回答
5
放置在緩存中的項目不能保證存在,如果框架在內存中運行緩慢,則框架將清除緩存。您可以指定一個優先級來指示哪些項目應該先自動清除。
至於如果內存將被釋放,只要項目被管理,並且您沒有在應用程序的其他地方保留引用,那麼垃圾收集器將在緩存超時過期後釋放內存(或者手動從緩存中刪除它)。
當然,從緩存中刪除並不能保證物理內存將被釋放,因爲只有在垃圾收集器下次運行時纔會釋放。
相關問題
- 1. (ASP.NET高速緩存API)是否可能在緩存設置過期之前從緩存中刪除項目?
- 2. 刪除[]和內存泄漏
- 3. 番石榴緩存內存泄漏
- 4. NGINX內存高速緩存時出現
- 5. 使用主幹從DOM刪除項目時的內存泄漏
- 6. ASP.NET高速緩存唯一
- 7. 共享內存中高速緩存
- 8. 禁用高速緩存中的緩存
- 9. ASP.NET如何決定何時從緩存中刪除項目?
- 10. 刪除瓶內存緩存
- 11. 清除Java高速緩存
- 12. 清除Webpack高速緩存
- 13. Android畢加索從高速緩存中刪除條目
- 14. 從高速緩存下載圖像Android與高速緩存
- 15. xcode項目 - 內存泄漏
- 16. ASP.NET內存泄漏
- 17. 通用Windows應用程序Webview內存泄漏 - 清除緩存
- 18. 高速緩存內存大小限制
- 19. C#共享內存高速緩存
- 20. 內存泄漏 - 釋放和刪除
- 21. 內存泄漏與新的和刪除
- 22. C++內存泄漏新增和刪除
- 23. JQuery刪除和內存泄漏
- 24. 刪除警告和內存泄漏
- 25. 304 200(從高速緩存)
- 26. java高速緩存超時
- 27. 數組和高速緩存
- 28. UIImage initWithContentsOfFile:和高速緩存
- 29. wp7中的獨立存儲和高速緩存內存
- 30. MySQL高速緩存
那麼有沒有一種方法可以在它讓我失望之前偶爾清楚地釋放記憶? – 2009-05-28 06:31:53