zoukankan      html  css  js  c++  java
  • 缓存类

     /// <summary>
        /// CachePriceParamSetting类
        /// </summary>
        public class CachePriceParamSetting
        {
            /// <summary>
            /// 缓存参数集合
            /// </summary>
            private static List<MPriceParamSetting> priceParamSettingList = new List<MPriceParamSetting>();

            /// <summary>
            /// 缓存刷新时间
            /// </summary>
            private static int cacheIntervalTime = 5;

            /// <summary>
            /// 缓存时间
            /// </summary>
            private static DateTime cacheTime = DateTime.MinValue;

            /// <summary>
            /// 控制刷新时间time
            /// </summary>
            private static Timer timer = new Timer();

            /// <summary>
            /// timer是否开始
            /// </summary>
            private static bool timerStart = false;

            /// <summary>
            /// 锁
            /// </summary>
            private static object lockObj = new object();

            /// <summary>
            /// 构造函数
            /// </summary>
            public CachePriceParamSetting()
            {
                if (!timerStart)
                {
                    // 首次 先初始化
                    RefreshCache(true);
                    timerStart = true;
                    timer.Interval = cacheIntervalTime * 1000 * 60;
                    timer.Enabled = true;
                    timer.Elapsed += new ElapsedEventHandler(this.Timer_Elapsed);
                }
            }

            /// <summary>
            /// 刷新缓存
            /// </summary>
            /// <param name="mustRefresh">是否强制刷新缓存</param>
            public static void RefreshCache(bool mustRefresh)
            {
                if (null == priceParamSettingList || mustRefresh)
                {
                    try
                    {
                        JavaScriptSerializer serialize = new JavaScriptSerializer();
                        List<MPriceParamSetting> tempList = new List<MPriceParamSetting>();
                        lock (lockObj)
                        {
                            tempList = serialize.Deserialize<List<MPriceParamSetting>>(SupplyPriceBusinessBaseServiceHelper.GetAllPriceParamSettingJSON());
                            if (tempList != null)
                            {
                                priceParamSettingList = tempList;
                            }
                        }
                    }
                    catch (Exception ex)
                    {
                        if (TrackIdManager.CurrentTrackID != null)
                        {
                            TrackIdManager.CurrentTrackID.ExceptionId = Guid.Empty;
                        }

                        AppException app = new AppException("999999", ex.Message, ex, null);
                        LogManager.Log.WriteException(app);
                    }
                }
            }

            /// <summary>
            /// 获取规则和缓存列表
            /// </summary>
            /// <returns>缓存列表</returns>
            public List<MPriceParamSetting> GetPriceParamSettingListCache()
            {
                return priceParamSettingList;
            }

            /// <summary>
            /// 定时执行 刷新缓存
            /// </summary>
            /// <param name="obj">事件</param>
            /// <param name="e">对象</param>
            private void Timer_Elapsed(object obj, ElapsedEventArgs e)
            {
                RefreshCache(true);
            }
        }

  • 相关阅读:
    TOJ 3660 家庭关系
    TOJ 2857 Stockbroker Grapevine
    关于字符串不为空 错误:s!=null
    根据判断数组不为空然后取他的值----数组不会为空---只能判断其size是否大于0
    JRebel 7.1.5 插件下载 安装 激活 结合 IntelliJ IDEA--自动编译进行热部署---
    @requestbody---接受前端传json对象并绑定javabean
    json转换时区问题-------前端展示时间少8小时--解决方法
    使用Mybatis-Generator自动生成Dao、Model、Mapping相关文件(转)-----https://www.cnblogs.com/smileberry/p/4145872.html
    数据库设计软件介绍--几种数据库建模工具推荐(包含开源版)
    mysql 查询当天、本周,本月,上一个月的数据---https://www.cnblogs.com/benefitworld/p/5832897.html
  • 原文地址:https://www.cnblogs.com/SmartLee/p/4709258.html
Copyright © 2011-2022 走看看