簡體   English   中英

在ASP.NET中實現數據庫緩存

[英]Implementing database caching in ASP.NET

我正在考慮使用以下方案實現sql數據庫緩存:

  1. 在ASP.NET Web應用程序中,我想要一個連續運行的線程,檢查一個表,比如dbStatus,看看是否已將字段dbDirty設置為true。 如果是,則更新本地內存緩存,查詢其中存在所有所需表的視圖。
    1. 更新視圖中的任何表時,將觸發該表上的觸發器,將dbStatus.dbDirty設置為true。 所以這意味着我必須在這些表上添加插入,更新,刪除觸發器

我想實現這種緩存方案的原因之一是在該應用程序的Winform版本中使用相同的數據庫。

我的問題:這是一種可行的方法嗎?

非常感謝提前幫助我,保羅

這是一種可行的方法。

您需要注意的主要問題是ASP.NET工作進程可以出於多種原因隨時退出(部署,回收,重新啟動,藍屏,錯誤......)。 這意味着您的代碼必須隨時容忍中止(實際上只是消失)。

此外,考慮到您的應用程序可以在工作人員回收期間同時運行兩次,並且如果您為HA運行多個服務器。

此外,Web應用程序中的交叉請求狀態要求您正確同步您的操作。 這聽起來像你可能需要解決一些競爭條件。

此外,這種方法有效。

考慮增加版本號而不是布爾值。 這樣可以更輕松地避免同步問題,例如丟失更新,因為無需重置標志。 只有一位作家。 這比多個作家更容易。

暫無
暫無

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

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