CacheSetup.cs 1.2 KB

1234567891011121314151617181920212223242526272829303132333435
  1. // 大名科技(天津)有限公司 版权所有
  2. //
  3. // 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
  4. //
  5. // 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动
  6. //
  7. // 任何基于本项目二次开发而产生的一切法律纠纷和责任,均与作者无关
  8. namespace Admin.NET.Core;
  9. public static class CacheSetup
  10. {
  11. /// <summary>
  12. /// 缓存注册(新生命Redis组件)
  13. /// </summary>
  14. /// <param name="services"></param>
  15. public static void AddCache(this IServiceCollection services)
  16. {
  17. ICache cache = Cache.Default;
  18. var cacheOptions = App.GetConfig<CacheOptions>("Cache", true);
  19. if (cacheOptions.CacheType == CacheTypeEnum.Redis.ToString())
  20. {
  21. cache = new FullRedis(new RedisOptions
  22. {
  23. Configuration = cacheOptions.Redis.Configuration,
  24. Prefix = cacheOptions.Redis.Prefix
  25. });
  26. if (cacheOptions.Redis.MaxMessageSize > 0)
  27. ((FullRedis)cache).MaxMessageSize = cacheOptions.Redis.MaxMessageSize;
  28. }
  29. services.AddSingleton(cache);
  30. }
  31. }