using COMMON; using DB_Server; using Models; using Models.Models; using Models.Models.LOGDB; using SERVER.LIB; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace SERVER { /// /// 缓存信息列表 /// public class CacheData { /// /// 缓存枚举 /// public enum CacheDataEnum { /// /// 酒店组缓存 /// TBL_HOTEL_GROUP_INFO, /// /// 酒店缓存 /// TBL_HOTEL_BASIC_INFO, /// /// 房型列表 /// TBL_ROOM_TYPE_LIST, /// /// 模型文件数据 /// TBL_MODEL_FILE_DATA, /// /// ruc /// TBL_RCU_BASIC_INFO } /// /// UDPlog 数量 10 分钟有效 /// public static int UDPcount => int.Parse( XC_Redis.Redis.GET("Getudplogcount", () => { return new ASLS().GetLogs_(0, "* | select count(*) sum", ConfigEntity.Instance.STARTTIME, DateTime.Now).Result[0]["sum"]; } , 60 * 10)); /// /// TBL_HOTEL_GROUP_INFO 酒店分组 /// public static List TBL_HOTEL_GROUP_INFO { get { return GetData("TBL_HOTEL_GROUP_INFO", DbHelperSQL.DBSel.BLV_RCU_DB); } } /// /// rcu /// public static List TBL_RCU_BASIC_INFO { get { return GetData("TBL_RCU_BASIC_INFO", DbHelperSQL.DBSel.BLV_RCU_DB); } } /// /// 模型文件数据 /// public static List TBL_MODEL_FILE_DATA { get { return GetData("TBL_MODEL_FILE_DATA", DbHelperSQL.DBSel.BLV_RCU_DB,10); } } /// /// 酒店表 /// public static List TBL_HOTEL_BASIC_INFO { get { return GetData("TBL_HOTEL_BASIC_INFO", DbHelperSQL.DBSel.BLV_RCU_DB); } } /// /// TBL_ROOM_TYPE_LIST 房型表 /// public static List TBL_ROOM_TYPE_LIST { get { return GetData("TBL_ROOM_TYPE_LIST", DbHelperSQL.DBSel.BLV_RCU_DB); } } /// /// 公共的获取缓存方法 /// /// /// /// /// /// private static List GetData(string name, DbHelperSQL.DBSel dB,int time = -1) where T : new() { return XC_Redis.Redis.GET(name, () => { var data = new DbHelperSQL(dB); return UtilsSharp.DataTableHelper.ToEntities(data.ExecuteTable("select * from " + name)); }, time ); } /// /// 清除指定缓存 或者全部缓存 /// /// /// public static bool Clear(CacheDataEnum? cache) { if (cache == null) { foreach (int myCode in Enum.GetValues(typeof(CacheDataEnum))) { string strName = Enum.GetName(typeof(CacheDataEnum), myCode);//获取名称 if (!XC_Redis.Redis.Remove(strName)) { return false; }; } return true; } return XC_Redis.Redis.Remove(cache.ToString()); } } }