namespace Yw.RedisCache { /// /// 指标健康评价记录缓存辅助类 /// public class HealthQuotaEvaluationRecordCacheHelper { //健康结果记录 private const string _flag = "health-quota-evaluation-record"; //最后一条记录 private const string _lastRecord = "last-record"; //Redis客户端辅助类对象 private readonly RedisClientHelper _redisClient = new(); //获取 RedisKey private static string CreateRedisKey(long SignalID) { return $"{RedisKeyHelper.CreateKey(_flag)}:{SignalID}"; } #region 记录 /// /// 设置最后一条记录 /// public bool SetLastRecord(Model.HealthQuotaEvaluationRecord model) { if (model == null) return false; string redisKey = CreateRedisKey(model.SignalID); var hashKey = _lastRecord; _redisClient.HashSetJosn(redisKey, hashKey, model); return true; } /// /// 设置最后一条记录 /// public bool SetLastRecord(IEnumerable list) { if (list == null || !list.Any()) return false; foreach (var item in list) { var bol = SetLastRecord(item); if (!bol) return false; } return true; } /// /// 获取最后一条记录 /// public Model.HealthQuotaEvaluationRecord GetLastRecord(long SignalID) { var redisKey = CreateRedisKey(SignalID); var hashKey = _lastRecord; return _redisClient.HashGetJson(redisKey, hashKey); } /// /// 获取最后一条记录 /// public List GetLastRecord(IEnumerable SignalIds) { if (SignalIds == null || !SignalIds.Any()) return default; return SignalIds.ToList().Select(x => GetLastRecord(x)).Where(x => x != null).ToList(); } /// /// 删除最后一条记录 /// public void DeleteLastRecord(long SignalID) { var redisKey = CreateRedisKey(SignalID); var hasKey = _lastRecord; _redisClient.HashDelete(redisKey, hasKey); } #endregion } }