CacheSetup.cs 1.0 KB

12345678910111213141516171819202122232425262728293031
  1. // 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证。
  2. //
  3. // 必须在法律法规允许的范围内正确使用,严禁将其用于非法、欺诈、恶意或侵犯他人合法权益的目的。
  4. namespace Admin.NET.Core;
  5. public static class CacheSetup
  6. {
  7. /// <summary>
  8. /// 缓存注册(新生命Redis组件)
  9. /// </summary>
  10. /// <param name="services"></param>
  11. public static void AddCache(this IServiceCollection services)
  12. {
  13. ICache cache = Cache.Default;
  14. var cacheOptions = App.GetConfig<CacheOptions>("Cache", true);
  15. if (cacheOptions.CacheType == CacheTypeEnum.Redis.ToString())
  16. {
  17. cache = new FullRedis(new RedisOptions
  18. {
  19. Configuration = cacheOptions.Redis.Configuration,
  20. Prefix = cacheOptions.Redis.Prefix
  21. });
  22. if (cacheOptions.Redis.MaxMessageSize > 0)
  23. ((FullRedis)cache).MaxMessageSize = cacheOptions.Redis.MaxMessageSize;
  24. }
  25. services.AddSingleton(cache);
  26. }
  27. }