1. 程式人生 > >.net Core 使用快取 Cache

.net Core 使用快取 Cache

步驟1:

通過NuGet 引用程式集 using Microsoft.Extensions.Caching.Memory;(要按專案的版本來新增,不過一般是使用2.0的版本)

步驟2:

引用名稱空間 using Microsoft.Extensions.Caching.Memory;

步驟三:

建立私有靜態的MemoryCache 類如下:

 private static MemoryCache cache = new MemoryCache(new MemoryCacheOptions());

步驟四:

程式碼如下:

設定Cache值

 /// <summary>
        /// 設定快取值
        /// </summary>
        /// <param name="key">快取的鍵</param>
        /// <param name="value">快取值</param>
        public static void SetChacheValue(string key, object value, string UserNo, string Password)
        {
            cmxapi.BLL.EnterpriseUsersBaseInfo user = new BLL.EnterpriseUsersBaseInfo();//企業賬號平臺
            cmxapi.BLL.ManagerBaseInfo managerBase = new BLL.ManagerBaseInfo();// 管理員平臺

            cmxapi.Model.EnterpriseUsersBaseInfo usermodel = user.GetModel(UserNo, Password);//企業平臺
            cmxapi.Model.ManagerBaseInfo managerBaseInfo = managerBase.GetModel(UserNo, Password);//管理平臺

            if (usermodel != null && managerBaseInfo == null)
            {
                //存入字串
                if (key != null)
                {
                    cache.Set(key, value, new MemoryCacheEntryOptions
                    {
                        SlidingExpiration = TimeSpan.FromHours(1)
                    });
                }


            }
            if (usermodel == null && managerBaseInfo != null)
            {
                //存入字串
                if (key != null)
                {
                    cache.Set(key, value, new MemoryCacheEntryOptions
                    {
                        SlidingExpiration = TimeSpan.FromHours(1)
                    });
                }

            }

        }

獲取快取值程式碼如下:

       /// <summary>
        /// 獲取快取值
        /// </summary>
        /// <param name="key">快取的鍵</param>
        /// <returns>返回快取的值</returns>
        public static object GetCacheValue(string key)
        {
            object val = null;
            if (key != null && cache.TryGetValue(key, out val))
            {
                return val;
            }
            else
            {
                return default(object);
            }
        }

該.net Core 快取幫助類適用於.net core web 端和.net core webap跨平臺介面服務,該程式碼經過測試可以直接使用