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");
            }