using HealthMonitor.Util.Models;
namespace HealthMonitor.Core.Cache
{
public interface IDurableEntityManager
{
///
/// 判断实体类型是否支持持久化到缓存,若支持则返回缓存操作对象
///
///
///
IEntityCacheHandler? GetCacheHandler(Type entityType);
///
/// 获取缓存键
///
/// 实体类型
///
///
string CalcCacheKey(Type entityType, string id);
///
/// 获取缓存键
///
/// 实体类型
/// 查询条件
///
string CalcCacheKey(Type entityType, GeneralParam conditions);
///
/// 获取缓存键(历史表)
///
/// 实体类型
///
/// 设备serialno
/// 查询的历史日期
///
string CalcHistoryCacheKey(Type entityType, string id, string imei, DateTime? date = null);
///
/// 获取缓存键(历史表)
///
/// 实体类型
/// 查询条件
/// 设备serialno
/// 查询的历史日期
///
string CalcHistoryCacheKey(Type entityType, GeneralParam conditions, string imei, DateTime? date = null);
///
/// 清理所有缓存实体的失效(超时)映射关系
///
void CleanUpEntitiesMapper();
}
}