.Net 性能優化--緩存--分佈式緩存 --sqlserver緩存

.Net 性能優化--緩存,主要有內存緩存,分佈式緩存,http緩存

分佈式緩存

接着上篇的.Net 性能優化--緩存--內存緩存的講,如有不清晰的地方請參考上篇文章.Net 性能優化--緩存--內存緩存

上上篇的.Net 性能優化--緩存--內存緩存說的是使用asp.net core 自帶的擴展 Microsoft.Extensions.Caching.Memory來進行緩存的處理,

IMemoryCache緩存處理對於單個應該用程序是很方便,但是對於集羣的話就存在一個致命的問題,就是各個集羣之間無法相互訪問,同時一旦應用程序關閉,那麼緩存全部就都沒有了,

爲了解決這個問題我們引出了分佈式緩存,那麼本篇主要使用分佈式來處理緩存,對於分佈式緩存有2種,一是redis 緩存,二是sqlserver 緩存,上篇講了分佈式-redis緩存,本篇講分佈式-sqlserver緩存

分佈式-sqlserver緩存

1、使用NuGet添加項目引用 Microsoft.Extensions.Caching.SqlServer

2、在Startup中註冊服務,如下:

 3、在HomeController中添加如下內容:

  4、在Privacy.cshtml添加如下內容

5、創建一個sqlserver 數據庫的表,這個表用來存儲sqlserver 緩存的,可以手動去創建,也可以使用sql-cache工具去創建(建議使用工具,本文使用的sql-cache工具),

要使用sql-cache工具,就要先在電腦中安裝了sql-cache工具,安裝sql-cache工具命令如下:

win+ R ,打開cmd 輸入:dotnet tool install --global dotnet-sql-cache --version 3.1.1                  dotnet全局 安裝指定版本的 sql-cache工具,

注意:上述雖然安裝成功了,但是提示 :工具目錄 “C:\Users\Administrator\.dotnet\tools” 目前不在PATH環境變量中,

接下來需要卸載重新安裝以及設置環境變量

由於本作者使用的是vs2019最新版本以及netcore 最新的,所以sql-cache的版本要和.netcore的版本保持一致需要安裝最新版本,後面不添加 ----version 即爲安裝最新版本

C:\Users\Administrator>dotnet tool uninstall dotnet-sql-cache --global

已成功卸載工具“dotnet-sql-cache”(版本“3.1.1”)。

C:\Users\Administrator>dotnet tool install --global dotnet-sql-cache

已成功卸載工具“dotnet-sql-cache”(版本“3.1.2”)。

C:\Users\Administrator>dotnet tool uninstall dotnet-sql-cache --global

已成功卸載工具“dotnet-sql-cache”(版本“3.1.2”)。

//設置環境變量

C:\Users\Administrator>setx PATH "%PATH%;C:\Users\Administrator\.dotnet\tools"

成功: 指定的值已得到保存。

C:\Users\Administrator>dotnet tool install --global dotnet-sql-cache

由於剛安裝了 .NET Core SDK,因此在運行安裝的工具之前,需要重新打開命令提示符窗口。

可使用以下命令調用工具: dotnet-sql-cache 已成功安裝工具“dotnet-sql-cache”(版本“3.1.2”)。

C:\Users\Administrator>

設置環境變量之後提示需要重新打開命令提示符窗口,這是關掉cmd窗口,重新打開,win+ R ,打開cmd,輸入:dotnet tool install --global dotnet-sql-cache

Microsoft Windows [版本 10.0.17763.1131]

(c) 2018 Microsoft Corporation。保留所有權利。

C:\Users\Administrator>dotnet tool install --global dotnet-sql-cache
已安裝工具“dotnet-sql-cache”。

輸入:dotnet tool install --global dotnet-sql-cache,提示已安裝,則表示dotnet-sql-cache安裝成功,並設置了環境變量,下面就是創建數據庫

輸入:dotnet sql-cache create "Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=master;Integrated Security=True;" dbo mysqlserverCache

C:\Users\Administrator>dotnet sql-cache create "Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=master;Integrated Security=True;" dbo mysqlserverCache
Table and index were created successfully.

C:\Users\Administrator>

master數據庫下的dbo框架下的mysqlserverCache表創建成功

打開數據庫可以看到

 

5、運行

運行項目,結果如下

 

 6、在上圖運行結果中發現 數據庫中的時間格式不對,這是因爲時區設置不對,是默認的時區,沒有設置成當前的時區,

 

 設置時區,如下:

新建MySystemClock時鐘類,該類MySystemClock繼承ISystemClock,代碼如下:

 

在Startup中註冊服務修改如下如下:

全部保存之後在運行, 運行結果

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章