示例#1
0
        public void Execute(JobExecutionContext context)
        {
            try
            {
                log.Info("AllListJob开始更新");
                var videos = ListCache.Instance.Items[new VideoNodeKey(null, 0, null)].Ver1;
                var root   = new XElement("vlist");
                int num    = 0;
                foreach (var video in videos)
                {
                    root.Add(ResponseUtils.ResponseBack(ListCache.Instance.Dictionary[video]));
                    num++;
                }
                root.AddFirst(new XElement("count", num));
                ResponseUtils.SaveXml("all.xml", root);
                YesterdayListCache.Instance.Refresh(videos);
                SerizlizerUtils <YesterdayVideoNode> .SerializeSplitCache(YesterdayListCache.Instance.Items, _buffername);

                //SerizlizerUtils<VideoNode>.SerializeSplitCache(videos, _buffername);
            }
            catch (Exception ex)
            {
                log.Error(ex);
            }
            finally
            {
                log.Info("AllListJob结束更新");
            }
        }
示例#2
0
        /// <summary>
        /// 服务启动序列化刷新行为
        /// </summary>
        public override void SerializeInit()
        {
            var list = SerizlizerUtils <VideoNode> .DeserializeSplitCache(_buffername);

            if (list == null)
            {
                return;
            }
            LoadPlatForm(list);
            list.Clear();
        }
示例#3
0
 public void Init()
 {
     if (!_isInit)
     {
         _dic = new Dictionary <string, InstrumentNode>(SettingCache.LuceneDictCount);
         try
         {
             _cache = SerizlizerUtils <List <InstrumentNode> > .DeserializeLastCache(_bufferName);
         }
         catch
         { }
         if (_cache == null)
         {
             _cache = new List <InstrumentNode>(SettingCache.LuceneDictCount);
         }
         PublishCache();
         _isInit = true;
     }
 }
示例#4
0
 public void Refresh()
 {
     _isLock = true;
     while (_lock.TryEnter())
     {
     }
     try
     {
         if (_cache == null)
         {
             _cache = _dic.Values.OrderByDescending(v => v.SearchCount).ToPerfectList();
         }
         else
         {
             var list = new List <InstrumentNode>(SettingCache.LuceneHotWord);
             foreach (var v in _cache)
             {
                 Instrumentation.Revoke(v);
                 if (_dic.ContainsKey(v.Key))
                 {
                     v.SearchCount += _dic[v.Key].SearchCount;
                     _dic.Remove(v.Key);
                 }
             }
             _cache = _dic.Values.Union(_cache).OrderByDescending(v => v.SearchCount).Distinct().Take(SettingCache.LuceneHotWord).ToPerfectList();
         }
         PublishCache();
         _dic.Clear();
         SerizlizerUtils <List <InstrumentNode> > .SerializeLastCache(_cache, _bufferName);
     }
     finally
     {
         _isLock = false;
         _lock.Exit();
     }
 }
示例#5
0
 /// <summary>
 /// 刷新扩展,保存内存数据到本地
 /// </summary>
 public virtual void RefreshExtension()
 {
     SerizlizerUtils<T>.SerializeLastCache(_cache, BufferName);
 }
示例#6
0
 /// <summary>
 /// 序列化加载初始化
 /// </summary>
 public virtual void SerializeInit()
 {
     _cache = SerizlizerUtils<T>.DeserializeLastCache(BufferName);
 }
示例#7
0
 public override void RefreshExtension()
 {
     SerizlizerUtils <VideoNode> .SerializeSplitCache(_dic, _buffername);
 }
示例#8
0
 public void SerializeInit()
 {
     _cache = SerizlizerUtils <YesterdayVideoNode> .DeserializeSplitCache(_buffername);
 }