通用缓存信息类

这个博客介绍了C#中一个名为CommonCache的缓存管理类,用于存储和获取缓存值。类包含一个静态构造函数,一个设置失效时间的方法,以及获取和设置缓存值的方法。缓存值附带了一个过期时间,当过期时,值将被视为无效。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

using System;

using System.Collections.Generic;

using System.Collections;

using System.Text;

using System.Web;

using System.Web.Caching;

using System.Data;



namespace test

{

    /// <summary>

    /// M缓存类

   

    /// </summary>

    public class CommonCache

    {

        #region 构造函数

        /// <summary>

        /// 静态构造函数

        /// </summary>

        static CommonCache()

        {

        }

        #endregion





        #region 属性定义

        /// <summary>

        /// 失效时间单位为分钟

        /// </summary>

        public static int LoseTime

        {

            set

            {

                mLoseTime = value;

            }

        }



       

        #endregion





        #region 公共方法



        /// <summary>

        /// 获取值

        /// </summary>

        /// <param name="pKey">键值名</param>

        /// <returns>返回键值</returns>

        public static object GetValue(object pKey)

        {

            object  retValue = null;

            lock (mCache.SyncRoot)

            {

                try

                {

                    if (mCache.ContainsKey(pKey))

                    {

                        retValue=mCache[pKey];

                        IList<object> valueArr = (IList<object>)retValue;

                        DateTime dt = Convert.ToDateTime(valueArr[0]);

                        if (dt.CompareTo(DateTime.Now) < 0)

                        {

                            retValue = null;

                        }

                        else

                        {

                            retValue = valueArr[1];

                        }



                    }

                    else

                    {

                        retValue = null;

                    }

                }

                catch (Exception e)

                {

                    retValue = null;

                }

            }

            return retValue;

        }





        /// <summary>

        /// 设置值

        /// </summary>

        /// <param name="pKey">键值名</param>

        /// <param name="pValue">键值</param>

        public static void SetValue(object pKey, object pValue)

        {

            IList<object> valueArr = new List<object>() ;

            valueArr.Add (DateTime.Now.AddMinutes(mLoseTime));

            valueArr.Add ( pValue);



            lock (mCache.SyncRoot)

            {

                try

                {

                    if (!mCache.ContainsKey(pKey))

                    {

                        mCache.Add(pKey, valueArr);

                    }

                    else

                    {

                        mCache[pKey] = valueArr;

                    }

                }

                catch (Exception e)

                {

                }

            }

        }

        #endregion





        #region 字段定义

        /// <summary>

        /// 缓存对象

        /// </summary>

        private static Hashtable mCache = new Hashtable();



        /// <summary>

        /// 失效时间(单位:分钟)

        /// </summary>

        private static int mLoseTime = 60;

        #endregion



    }

}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值