簡體   English   中英

Asp.Net MVC更新緩存表的最佳方法

[英]Asp.Net MVC best way to update cached table

有些表經常被調用,但是很少被更新。 這些表之一是部門。 因此,為了節省數據庫旅行,考慮到表的大小非常小,我認為可以緩存該表。 但是,一旦將其緩存,就會出現保持表數據新鮮的問題。 因此,確定表是否臟並因此需要重新加載的最佳方法是什么以及應如何調用該代碼。 我正在尋找可擴展的解決方案。 因此,插入后立即更新緩存就無法解決該問題。 如果一台計算機插入了該記錄,則應通知服務器場上的所有其他記錄以重新加載緩存。 我當時在想從T-SQL調用相應的Web服務,但實際上並不喜歡在sql服務器上使用資源的想法。 那么解決此類問題的最佳實踐是什么。 在此先感謝Eddy

您是否嘗試過使用sql依賴項或緩存依賴項? 該庫會每隔很長時間對數據庫進行一次檢查,以查看數據是否已更改。 另一種選擇是也使用緩存依賴項。 您可以有一個主緩存對象,並有子緩存依賴它。 因此,如果主緩存更改,則子緩存將被更新。

編輯:如果以上不是解決方案,則可以輕松使用memcached.net - wikipedia 面向大型站點,但這是您的問題的解決方案。

有一些很棒的分布式緩存框架。 看看NCache和Velocity。 NCache具有一些出色的功能,可以使緩存的數據在不同的緩存節點以及基礎數據庫之間保持同步。 但這是有代價的。

這是一篇文章,介紹有關設置緩存的想法。

http://www.javaworld.com/javaworld/jw-07-2001/jw-0720-cache.html?page=1

一般而言,高速緩存中的對象具有生存期,並且當生存期到期時,將從數據庫中重新獲取它們。 如果數據不是那么重要,那么最終的一致性將使所呈現信息的性能和准確性混合在一起。

其他緩存工具添加了其他技術來保持數據更准確,即,如果已知某個特定對象將被更新,則在執行更新命令后重新填充。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM