/// <summary> /// 获取映射集合 /// </summary> /// <param name="cacheExpire"></param> /// <returns></returns> public override List <CacheKeyMapDescriptor> GetCacheKeyMapList(CacheExpire cacheExpire) { List <CacheKeyMapDescriptor> lstMap = new List <CacheKeyMapDescriptor>(); try { switch (cacheExpire) { case CacheExpire.All: lstMap = mapList.ToList(); break; case CacheExpire.Expired: lstMap = mapList.ToList().Where(x => x.ExpireDate <= DateTime.Now).ToList(); break; case CacheExpire.NoExpired: lstMap = mapList.ToList().Where(x => x.ExpireDate > DateTime.Now).ToList(); break; default: break; } return(lstMap); } catch (Exception ex) { return(lstMap); } }
public List <string> GetAllKeys(CacheExpire cacheExpire = CacheExpire.All, DateType dType = DateType.CreateTime, DateTime?startDate = null, DateTime?endDate = null) { DateTime sDate = startDate == null ? DateTime.MinValue:Convert.ToDateTime(startDate); DateTime eDate = endDate == null ? DateTime.MaxValue : Convert.ToDateTime(endDate); return(_cache.GetAllKeys(cacheExpire, dType, sDate, eDate)); }
/// <summary> /// 根据过期条件删除映射对象 /// </summary> /// <param name="cacheExpire"></param> /// <returns></returns> public override bool DeleteCacheKeyMap(CacheExpire cacheExpire) { try { switch (cacheExpire) { case CacheExpire.All: mapList.ToList().ForEach(x => { DeleteCacheKeyMap(x); }); break; case CacheExpire.Expired: mapList.ToList().Where(x => x.ExpireDate <= DateTime.Now).ToList().ForEach(x => { DeleteCacheKeyMap(x); }); break; case CacheExpire.NoExpired: mapList.ToList().Where(x => x.ExpireDate > DateTime.Now).ToList().ForEach(x => { DeleteCacheKeyMap(x); }); break; default: break; } return(true); } catch (Exception ex) { return(false); } }
public virtual List <CacheKeyMapDescriptor> GetList(CacheExpire cacheExpire) { List <CacheEntityBase> lstEntity = new List <CacheEntityBase>(); List <CacheKeyMapDescriptor> lstMapList = CacheKeyMapManger.Instance.GetCacheKeyMapList(cacheExpire); return(lstMapList); //return GetEntityBaseByCacheKeyMapDescriptor(lstMapList); }
public override bool BulkDeleteValue(CacheExpire cacheExpire, DateType dateType, DateTime startDate, DateTime endDate) { List <string> lstCacheEntity = new List <string>(); foreach (var item in ChangeServerList()) { MongoCollection <MongoDBCacheEntity> collection = GetMongoDBCollection(item.ConnStr); List <MongoDBCacheEntity> lstEntity = collection.FindAll().ToList(); if (dateType == DateType.CreateTime) { switch (cacheExpire) { case CacheExpire.Expired: //已过期 包括过期和无效 lstEntity = lstEntity.Where(x => x.CacheSta == CacheStatus.Invalid && x.ExpireDate < DateTime.Now && x.Created >= startDate && x.Created < endDate).ToList(); break; case CacheExpire.NoExpired: //未过期 lstEntity = lstEntity.Where(x => x.CacheSta == CacheStatus.Effective && x.ExpireDate >= DateTime.Now && x.Created >= startDate && x.Created < endDate).ToList(); break; default: lstEntity = lstEntity.Where(x => x.CacheSta == CacheStatus.Effective && x.Created >= startDate && x.Created < endDate).ToList(); break; } } else if (dateType == DateType.ExpireTime) { switch (cacheExpire) { case CacheExpire.Expired: //已过期 包括过期和无效 lstEntity = lstEntity.Where(x => x.CacheSta == CacheStatus.Invalid && x.ExpireDate < DateTime.Now && x.ExpireDate >= startDate && x.ExpireDate < endDate).ToList(); break; case CacheExpire.NoExpired: //未过期 lstEntity = lstEntity.Where(x => x.CacheSta == CacheStatus.Effective && x.ExpireDate >= DateTime.Now && x.ExpireDate >= startDate && x.ExpireDate < endDate).ToList(); break; default: lstEntity = lstEntity.Where(x => x.CacheSta == CacheStatus.Effective && x.ExpireDate >= startDate && x.ExpireDate < endDate).ToList(); break; } } lstEntity.ForEach(x => { lstCacheEntity.Add(x.CacheKey); }); } bool flag = true; lstCacheEntity.ForEach(x => { if (!DeleteValue(x)) { flag = false; } }); return(flag); }
public virtual List <CacheKeyMapDescriptor> GetList(CacheExpire cacheExpire, DateType dateType, DateTime startDate, DateTime endDate) { List <CacheEntityBase> lstEntity = new List <CacheEntityBase>(); List <CacheKeyMapDescriptor> lstMapList = new List <CacheKeyMapDescriptor>(); lstMapList = CacheKeyMapManger.Instance.GetCacheKeyMapList(cacheExpire, dateType, startDate, endDate); return(lstMapList); //return GetEntityBaseByCacheKeyMapDescriptor(lstMapList); }
/// <summary> /// 根据过期条件和时间来删除映射对象 /// </summary> /// <param name="cacheExpire"></param> /// <param name="dateType"></param> /// <param name="startDate"></param> /// <param name="endDate"></param> /// <returns></returns> public override bool DeleteCacheKeyMap(CacheExpire cacheExpire, DateType dateType, DateTime startDate, DateTime endDate) { try { startDate = Convert.ToDateTime(startDate.ToString("yyyy-MM-dd") + " 0:00:00"); endDate = Convert.ToDateTime(endDate.ToString("yyyy-MM-dd") + " 23:59:59"); switch (cacheExpire) { case CacheExpire.All: { if (dateType == DateType.CreateTime) { mapList.ToList().Where(x => x.CreateTime >= startDate && x.CreateTime <= endDate).ToList().ForEach(x => { DeleteCacheKeyMap(x); }); } else { mapList.ToList().Where(x => x.ExpireDate >= startDate && x.CreateTime <= endDate).ToList().ForEach(x => { DeleteCacheKeyMap(x); }); } } break; case CacheExpire.Expired: { if (dateType == DateType.CreateTime) { mapList.ToList().Where(x => x.CreateTime >= startDate && x.CreateTime <= endDate && x.ExpireDate <= DateTime.Now).ToList().ForEach(x => { DeleteCacheKeyMap(x); }); } else { mapList.ToList().Where(x => x.ExpireDate >= startDate && x.CreateTime <= endDate && x.ExpireDate <= DateTime.Now).ToList().ForEach(x => { DeleteCacheKeyMap(x); }); } } break; case CacheExpire.NoExpired: { if (dateType == DateType.CreateTime) { mapList.ToList().Where(x => x.CreateTime >= startDate && x.CreateTime <= endDate && x.ExpireDate > DateTime.Now).ToList().ForEach(x => { DeleteCacheKeyMap(x); }); } else { mapList.ToList().Where(x => x.ExpireDate >= startDate && x.CreateTime <= endDate && x.ExpireDate > DateTime.Now).ToList().ForEach(x => { DeleteCacheKeyMap(x); }); } } break; default: break; } return(true); } catch (Exception ex) { return(false); } }
public virtual bool BulkDeleteValue(CacheExpire cacheExpire, DateType dateType, DateTime startDate, DateTime endDate) { bool flag = true; List <CacheKeyMapDescriptor> lstMapList = CacheKeyMapManger.Instance.GetCacheKeyMapList(cacheExpire, dateType, startDate, endDate); lstMapList.ForEach(x => { if (!DeleteValue(x.CacheKey, true)) { flag = false; } }); return(flag); }
public override List <CacheKeyMapDescriptor> GetList(CacheExpire cacheExpire, DateType dateType, DateTime startDate, DateTime endDate) { List <CacheKeyMapDescriptor> lstCacheEntity = new List <CacheKeyMapDescriptor>(); foreach (var item in ChangeServerList()) { MongoCollection <MongoDBCacheEntity> collection = GetMongoDBCollection(item.ConnStr); List <MongoDBCacheEntity> lstEntity = collection.FindAll().ToList(); if (dateType == DateType.CreateTime) { switch (cacheExpire) { case CacheExpire.Expired: //已过期 包括过期和无效 lstEntity = lstEntity.Where(x => x.CacheSta == CacheStatus.Invalid && x.ExpireDate < DateTime.Now && x.Created >= startDate && x.Created < endDate).ToList(); break; case CacheExpire.NoExpired: //未过期 lstEntity = lstEntity.Where(x => x.CacheSta == CacheStatus.Effective && x.ExpireDate >= DateTime.Now && x.Created >= startDate && x.Created < endDate).ToList(); break; default: lstEntity = lstEntity.Where(x => x.CacheSta == CacheStatus.Effective && x.Created >= startDate && x.Created < endDate).ToList(); break; } } else if (dateType == DateType.ExpireTime) { switch (cacheExpire) { case CacheExpire.Expired: //已过期 包括过期和无效 lstEntity = lstEntity.Where(x => x.CacheSta == CacheStatus.Invalid && x.ExpireDate < DateTime.Now && x.ExpireDate >= startDate && x.ExpireDate < endDate).ToList(); break; case CacheExpire.NoExpired: //未过期 lstEntity = lstEntity.Where(x => x.CacheSta == CacheStatus.Effective && x.ExpireDate >= DateTime.Now && x.ExpireDate >= startDate && x.ExpireDate < endDate).ToList(); break; default: lstEntity = lstEntity.Where(x => x.CacheSta == CacheStatus.Effective && x.ExpireDate >= startDate && x.ExpireDate < endDate).ToList(); break; } } lstCacheEntity.AddRange(ChangeToCacheKeyMapDescriptor(lstEntity)); } return(lstCacheEntity); }
public override bool DeleteCacheKeyMap(CacheExpire cacheExpire) { try { MongoCollection <CacheKeyMapDescriptor> collection = DistributedCacheHelper.GetMongoDBCacheKeyMapCollection(); switch (cacheExpire) { case CacheExpire.All: collection.FindAll().ToList().ForEach(x => { DeleteCacheKeyMap(x); }); break; case CacheExpire.Expired: var query = Query.And(Query.LTE("ExpireDate", DateTime.Now)); collection.Find(query).ToList().ForEach(x => { DeleteCacheKeyMap(x); }); break; case CacheExpire.NoExpired: { var query2 = Query.And(Query.GT("ExpireDate", DateTime.Now)); collection.Find(query2).ToList().ForEach(x => { DeleteCacheKeyMap(x); }); } break; default: break; } return(true); } catch (Exception ex) { return(false); } }
public override List <CacheKeyMapDescriptor> GetCacheKeyMapList(CacheExpire cacheExpire) { List <CacheKeyMapDescriptor> lstMap = new List <CacheKeyMapDescriptor>(); try { MongoCollection <CacheKeyMapDescriptor> collection = DistributedCacheHelper.GetMongoDBCacheKeyMapCollection(); switch (cacheExpire) { case CacheExpire.All: lstMap = collection.FindAll().ToList(); break; case CacheExpire.Expired: { var query = Query.And( Query.LTE("ExpireDate", DateTime.Now) ); lstMap = collection.Find(query).ToList(); } break; case CacheExpire.NoExpired: { var query = Query.And( Query.GT("ExpireDate", DateTime.Now) ); lstMap = collection.Find(query).ToList(); } break; default: break; } return(lstMap); } catch (Exception ex) { return(lstMap); } }
public bool BulkDeleteValue(CacheExpire cacheExpire) { return(false); }
public override List <CacheKeyMapDescriptor> GetCacheKeyMapList(CacheExpire cacheExpire) { return(_cacheKeyMap.GetCacheKeyMapList(cacheExpire)); }
public override bool DeleteCacheKeyMap(CacheExpire cacheExpire, DateType dateType, DateTime startDate, DateTime endDate) { return(_cacheKeyMap.DeleteCacheKeyMap(cacheExpire, dateType, startDate, endDate)); }
public override bool DeleteCacheKeyMap(CacheExpire cacheExpire) { return(_cacheKeyMap.DeleteCacheKeyMap(cacheExpire)); }
/// <summary> /// Inits this instance. This method used at startup to initialize /// all required server components /// </summary> public void Init() { #region Access Log #if TRACE { COM.Handler.LogHandler.Tracking("Access Method: " + this.GetType().ToString() + "->" + ((object)MethodBase.GetCurrentMethod()).ToString() + " ;"); } #endif #endregion Access Log COM.Handler.LogHandler.Force("Initializing Settings" + COM.Enums.LogCategory.ServiceStart.ToString()); #if DEBUG Console.WriteLine(@"Shared Cache Configuration"); Console.WriteLine(); #endif this.PrintSettings(); // needs to be instantiated before TCP, it needs an instance of CachExpire cacheExpireInstance = new CacheExpire(); // TCP needs an instance of CacheExpire tcpInstance = new TcpServer(cacheExpireInstance); COM.Handler.LogHandler.Force("Init and Start Thread Tcp"); COM.Handler.LogHandler.Force("Init and Start Thread CacheExpire"); // Init all extenders // an extender is a class which initializes its own logic around // specific issue within its own thread; /////////////////////////////////////////////////////////////////// this.workerTcp = new Thread(this.tcpInstance.Init); this.workerTcp.Name = "TCP Handler"; this.workerTcp.IsBackground = true; this.workerTcp.Priority = ThreadPriority.Normal; /////////////////////////////////////////////////////////////////// this.workerCacheExpire = new Thread(this.cacheExpireInstance.Init); this.workerCacheExpire.Name = "Cache Expire Handler"; this.workerCacheExpire.IsBackground = true; this.workerCacheExpire.Priority = ThreadPriority.Lowest; /////////////////////////////////////////////////////////////////// this.workerCacheExpire.Start(); this.workerTcp.Start(); // enable the search of replicaiton servers if (this.enableServiceFamilyMode) { NetworkDistribution.Init(); } string msgThreadInfo = Environment.NewLine + "Main Thread Id: " + Thread.CurrentThread.ManagedThreadId.ToString() + Environment.NewLine + "this.workerTcp: " + this.workerTcp.ManagedThreadId.ToString() + Environment.NewLine + /*"this.workerTimer: " + this.workerTimer.ManagedThreadId.ToString() + Environment.NewLine +*/ "this.workerCacheExpire: " + this.workerCacheExpire.ManagedThreadId.ToString(); #if DEBUG Console.WriteLine(msgThreadInfo + Environment.NewLine); Console.WriteLine("+ + + + + + + + + + + + + + + + + + + + + + + + + + + + "); Console.WriteLine("server is ready to receive data."); #endif COM.Handler.LogHandler.Force("Service Started " + COM.Enums.LogCategory.ServiceStart.ToString()); }
/// <summary> /// 根据时间获取映射集合 /// </summary> /// <param name="cacheExpire"></param> /// <param name="dateType"></param> /// <param name="startDate"></param> /// <param name="endDate"></param> /// <returns></returns> public override List <CacheKeyMapDescriptor> GetCacheKeyMapList(CacheExpire cacheExpire, DateType dateType, DateTime startDate, DateTime endDate) { List <CacheKeyMapDescriptor> lstMap = new List <CacheKeyMapDescriptor>(); try { switch (cacheExpire) { case CacheExpire.All: { if (dateType == DateType.CreateTime) { lstMap = mapList.ToList().Where(x => x.CreateTime >= startDate && x.CreateTime <= endDate).ToList(); } else if (dateType == DateType.ExpireTime) { lstMap = mapList.ToList().Where(x => x.ExpireDate >= startDate && x.ExpireDate <= endDate).ToList(); } else { lstMap = mapList.ToList(); } } break; case CacheExpire.Expired: { if (dateType == DateType.CreateTime) { lstMap = mapList.ToList().Where(x => x.CreateTime >= startDate && x.CreateTime <= endDate && x.ExpireDate <= DateTime.Now).ToList(); } else if (dateType == DateType.ExpireTime) { lstMap = mapList.ToList().Where(x => x.ExpireDate >= startDate && x.ExpireDate <= endDate && x.ExpireDate <= DateTime.Now).ToList(); } else { lstMap = mapList.ToList().Where(x => x.ExpireDate <= DateTime.Now).ToList(); } } break; case CacheExpire.NoExpired: { if (dateType == DateType.CreateTime) { lstMap = mapList.ToList().Where(x => x.CreateTime >= startDate && x.CreateTime <= endDate && x.ExpireDate > DateTime.Now).ToList(); } else if (dateType == DateType.ExpireTime) { lstMap = mapList.ToList().Where(x => x.ExpireDate >= startDate && x.ExpireDate <= endDate && x.ExpireDate > DateTime.Now).ToList(); } else { lstMap = mapList.ToList().Where(x => x.ExpireDate > DateTime.Now).ToList(); } } break; default: break; } return(lstMap); } catch (Exception ex) { return(lstMap); } }
public List <string> GetAllKeys(CacheExpire cacheExpire, DateType dateType, DateTime startDate, DateTime endDate) { return(new List <string>()); }
public abstract List <CacheKeyMapDescriptor> GetList(CacheExpire cacheExpire, DateType dateType, DateTime startDate, DateTime endDate);
public List <CacheKeyMapDescriptor> GetList(CacheExpire cacheExpire) { return(GetList(cacheExpire, DateType.CreateTime, Convert.ToDateTime("1900-01-01"), DateTime.Now)); }
/// <summary> /// Initializes a new instance of the <see cref="TcpServer"/> class. /// </summary> /// <param name="expire">The expire.</param> public TcpServer(CacheExpire expire) : this() { #region Access Log #if TRACE { COM.Handler.LogHandler.Tracking("Access Method: " + this.GetType().ToString() + "->" + ((object)MethodBase.GetCurrentMethod()).ToString() + " ;"); } #endif #endregion Access Log if (expire != null && expire.Expire != null && expire.Expire.Enable) { this.expire = expire; } else { this.expire = null; expire.Dispose(); if (expire != null) expire = null; } }
public bool BulkDeleteValue(CacheExpire cacheExpire, DateType dateType, DateTime startDate, DateTime endDate) { return(false); }
public abstract bool DeleteCacheKeyMap(CacheExpire cacheExpire);
public abstract bool DeleteCacheKeyMap(CacheExpire cacheExpire, DateType dateType, DateTime startDate, DateTime endDate);
public List <CacheKeyMapDescriptor> GetList(CacheExpire cacheExpire, DateType dateType, DateTime startDate, DateTime endDate) { return(new List <CacheKeyMapDescriptor>()); }
public bool BulkDeleteValue(CacheExpire cacheExpire) { return(BulkDeleteValue(cacheExpire, DateType.CreateTime, Convert.ToDateTime("1900-01-01"), DateTime.Now)); }
public List <CacheKeyMapDescriptor> GetList(CacheExpire cacheExpire) { return(new List <CacheKeyMapDescriptor>()); }
public abstract bool BulkDeleteValue(CacheExpire cacheExpire, DateType dateType, DateTime startDate, DateTime endDate);
public override List <CacheKeyMapDescriptor> GetCacheKeyMapList(CacheExpire cacheExpire, DateType dateType, DateTime startDate, DateTime endDate) { List <CacheKeyMapDescriptor> lstMap = new List <CacheKeyMapDescriptor>(); try { MongoCollection <CacheKeyMapDescriptor> collection = DistributedCacheHelper.GetMongoDBCacheKeyMapCollection(); switch (cacheExpire) { case CacheExpire.All: { if (dateType == DateType.CreateTime) { var query = Query.And( Query.GTE("CreateTime", startDate), Query.LTE("CreateTime", endDate) ); lstMap = collection.Find(query).ToList(); } else if (dateType == DateType.ExpireTime) { var query = Query.And( Query.GTE("ExpireDate", startDate), Query.LTE("ExpireDate", endDate) ); lstMap = collection.Find(query).ToList(); } else { lstMap = collection.FindAll().ToList(); } } break; case CacheExpire.Expired: { if (dateType == DateType.CreateTime) { var query = Query.And( Query.GTE("CreateTime", startDate), Query.LTE("CreateTime", endDate), Query.LTE("ExpireDate", DateTime.Now) ); lstMap = collection.Find(query).ToList(); } else if (dateType == DateType.ExpireTime) { var query = Query.And( Query.GTE("ExpireDate", startDate), Query.LTE("ExpireDate", endDate), Query.LTE("ExpireDate", DateTime.Now) ); lstMap = collection.Find(query).ToList(); } else { var query = Query.And( Query.LTE("ExpireDate", DateTime.Now) ); lstMap = collection.Find(query).ToList(); } } break; case CacheExpire.NoExpired: { if (dateType == DateType.CreateTime) { var query = Query.And( Query.GTE("CreateTime", startDate), Query.LTE("CreateTime", endDate), Query.GT("ExpireDate", DateTime.Now) ); lstMap = collection.Find(query).ToList(); } else if (dateType == DateType.ExpireTime) { var query = Query.And( Query.GTE("ExpireDate", startDate), Query.LTE("ExpireDate", endDate), Query.GT("ExpireDate", DateTime.Now) ); lstMap = collection.Find(query).ToList(); } else { var query = Query.And( Query.GT("ExpireDate", DateTime.Now) ); lstMap = collection.Find(query).ToList(); } } break; default: break; } return(lstMap); } catch (Exception ex) { return(lstMap); } }
public override List <CacheKeyMapDescriptor> GetCacheKeyMapList(CacheExpire cacheExpire, DateType dateType, DateTime startDate, DateTime endDate) { return(_cacheKeyMap.GetCacheKeyMapList(cacheExpire, dateType, startDate, endDate)); }
public abstract List <string> GetAllKeys(CacheExpire cacheExpire, DateType dateType, DateTime startDate, DateTime endDate);
public abstract List <CacheKeyMapDescriptor> GetCacheKeyMapList(CacheExpire cacheExpire);