RedisExtension.cs 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. using FreeRedis;
  2. namespace ServiceCenter.Extensions
  3. {
  4. public static class RedisExtension
  5. {
  6. /// <summary>
  7. /// 检查Redis中是否有对应key且value不为空
  8. /// </summary>
  9. /// <param name="redisClient">redis连接</param>
  10. /// <param name="key">要检查的Key</param>
  11. /// <returns>
  12. /// 1.key不存在,创建这个key value默认为三个空格符。返回null
  13. /// 2.key存在单value为空 返回null
  14. /// 3.key存在value不为空 返回获取到的值
  15. /// </returns>
  16. public static string? Check(this RedisClient redisClient, string key)
  17. {
  18. var result = redisClient.Get(key);
  19. if (!string.IsNullOrEmpty(result)) return result;
  20. redisClient.Set(key, " ");
  21. Console.WriteLine($"无{key},创建并写入默认值: ");
  22. return null;
  23. }
  24. /// <summary>
  25. /// 检查Redis中是否有对应key且value不为空
  26. /// </summary>
  27. /// <param name="redisClient">redis连接</param>
  28. /// <param name="key">要检查的Key</param>
  29. /// <param name="defaults">创建key是写入的默认值</param>
  30. /// <returns>
  31. /// 1.key不存在,创建这个key 并写入传入的默认值。返回默认值
  32. /// 2.key存在单value为空 返回null
  33. /// 3.key存在value不为空 返回获取到的值
  34. /// </returns>
  35. public static string? Check(this RedisClient redisClient, string key, string defaults)
  36. {
  37. var result = redisClient.Get(key);
  38. if (!string.IsNullOrEmpty(result)) return result;
  39. redisClient.Set(key, defaults);
  40. Console.WriteLine($"无{key},创建并写入默认值:{defaults}");
  41. return defaults;
  42. }
  43. }
  44. }