namespace HealthMonitor.Core.Cache { public interface IEntityCacheHandler { /// <summary> /// 获取缓存时间(单位秒) /// </summary> int DurableSecond { get; } /// <summary> /// 根据缓存键获取实体集 /// </summary> /// <param name="key"></param> /// <returns></returns> IEnumerable<object>? GetEntitiesCache(string key); /// <summary> /// 根据缓存键更新实体 /// </summary> /// <param name="key"></param> /// <param name="param">单实体,或者实体列表</param> /// <param name="isEnumerable">是否为实体列表</param> void SetEntityCache(string key, object param, bool isEnumerable = false); /// <summary> /// 清除指定缓存键的实体 /// </summary> /// <param name="key"></param> void DeleteEntityCache(string key); /// <summary> /// 获取并移除指定实体主键映射的所有缓存键 /// </summary> /// <param name="id"></param> IEnumerable<string>? UnmapKeyFromEntity(object entity); /// <summary> /// 清理失效(超时)的映射关系 /// </summary> void CleanUpExpiredMapper(); } }