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结束更新"); } }
/// <summary> /// 服务启动序列化刷新行为 /// </summary> public override void SerializeInit() { var list = SerizlizerUtils <VideoNode> .DeserializeSplitCache(_buffername); if (list == null) { return; } LoadPlatForm(list); list.Clear(); }
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; } }
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(); } }
/// <summary> /// 刷新扩展,保存内存数据到本地 /// </summary> public virtual void RefreshExtension() { SerizlizerUtils<T>.SerializeLastCache(_cache, BufferName); }
/// <summary> /// 序列化加载初始化 /// </summary> public virtual void SerializeInit() { _cache = SerizlizerUtils<T>.DeserializeLastCache(BufferName); }
public override void RefreshExtension() { SerizlizerUtils <VideoNode> .SerializeSplitCache(_dic, _buffername); }
public void SerializeInit() { _cache = SerizlizerUtils <YesterdayVideoNode> .DeserializeSplitCache(_buffername); }