怎么在.NETCore中使用MemoryCache實現(xiàn)緩存域-創(chuàng)新互聯(lián)

這篇文章將為大家詳細講解有關(guān)怎么在.NET Core中使用MemoryCache 實現(xiàn)緩存域,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。

十載的江孜網(wǎng)站建設(shè)經(jīng)驗,針對設(shè)計、前端、開發(fā)、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。全網(wǎng)營銷推廣的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整江孜建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計,從而大程度地提升瀏覽體驗。成都創(chuàng)新互聯(lián)公司從事“江孜網(wǎng)站設(shè)計”,“江孜網(wǎng)站推廣”以來,每個客戶項目都認真落實執(zhí)行。

緩存域


有下面四個成員

  1. 書籍模型(包含一個組章節(jié)模型)

  2. 章節(jié)模型

  3. 書籍服務

  4. 章節(jié)服務

怎么在.NET Core中使用MemoryCache 實現(xiàn)緩存域

BookService 有一個獲取書籍的方法

ChapterService 有一個獲取書籍章節(jié)的方法

怎么在.NET Core中使用MemoryCache 實現(xiàn)緩存域

怎么在.NET Core中使用MemoryCache 實現(xiàn)緩存域

可以看到 GetBook 內(nèi)使用了緩存,緩存了5秒鐘。GetBook 又調(diào)用了 ChapterService 的 GetChapters,GetChapters 緩存了3秒鐘。

這時候書籍的章節(jié)信息緩存要早于書籍過期。

那么大家試想一下,如果章節(jié)信息先過期了 GetBook 這個方法返回的是不是還是舊的數(shù)據(jù)?

在一些簡單的緩存設(shè)計中是這樣的,但在 MSCache 中微軟提供了緩存域的概念,從層級上 Chapter 的父級緩存是 Book。所以當 Chapter 過期時,Book 也會級聯(lián)過期。

我們來看一下測試。

怎么在.NET Core中使用MemoryCache 實現(xiàn)緩存域

怎么在.NET Core中使用MemoryCache 實現(xiàn)緩存域

可以看到,每隔三秒鐘不僅 Chapter 重新獲取,Book 也會一起級聯(lián)獲取。

這樣在很大程度上減輕了我們處理緩存依賴的問題。

ChaneToken在域中

怎么在.NET Core中使用MemoryCache 實現(xiàn)緩存域

怎么在.NET Core中使用MemoryCache 實現(xiàn)緩存域

SlidingExpiration在域中(畫重點)

怎么在.NET Core中使用MemoryCache 實現(xiàn)緩存域

恩,輸出是 時間,時間,新時間。

其實呢?

怎么在.NET Core中使用MemoryCache 實現(xiàn)緩存域

子緩存項并沒有過期。

這是為什么呢?我翻了 Caching 的源碼發(fā)現(xiàn),緩存失效擴散的處理中,并沒有對 SlidingExpiration 進行處理,只處理了 ExpirationTokens 和 AbsoluteExpiration。

不知道這是不是一個bug,我已經(jīng)在 MSCache 項目上提了一個issue,等待回復后再來更新這塊的說明。

這塊的處理代碼如下:

怎么在.NET Core中使用MemoryCache 實現(xiàn)緩存域

關(guān)于怎么在.NET Core中使用MemoryCache 實現(xiàn)緩存域就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

分享題目:怎么在.NETCore中使用MemoryCache實現(xiàn)緩存域-創(chuàng)新互聯(lián)
網(wǎng)頁網(wǎng)址:http://muchs.cn/article6/dsigig.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、網(wǎng)站建設(shè)、定制開發(fā)、微信小程序、網(wǎng)站改版、響應式網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)