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());
}
}
}