System.Runtime.Caching(MemoryCache)

匯入名稱空間 System.Runtime.Caching(確保已將 System.Runtime.Caching DLL 新增到專案引用中)。

建立 MemoryCache 類的例項。

MemoryCache memCache = MemoryCache.Default;

將值新增到 MemoryCache

public IQueryable<tblTag> GettblTags()
        {
            var ca = db.tblTags;
            memCache.Add("tag", ca, DateTimeOffset.UtcNow.AddMinutes(5));
            return db.tblTags;
        }

這裡 tag 是我的鍵,ca 是我的值,DateTimeOffset.UtcNow.AddMinutes(5) 用於設定快取五分鐘。

從 MemoryCache 獲取值

var res = memCache.Get("tag");
            if (res != null)
            {
                return res;
            }
            else {
                var ca = db.tblTags;
                memCache.Add("tag", ca, DateTimeOffset.UtcNow.AddMinutes(5));
                return db.tblTags;
            }

我們將在變數 res 中獲取快取值,記住這個值只存在五分鐘。你可以根據需要隨時更改。如果該值不為 null,我們將返回它並執行操作,如果它為 null,我們將繼續從資料庫獲取資料並將值新增到快取。

從 MemoryCache 中刪除值

            if (memCache.Contains("tag"))
            {
                memCache.Remove("tag");
            }