CacheSetup.cs 800 B

1234567891011121314151617181920212223242526
  1. using CSRedis;
  2. using Microsoft.Extensions.Caching.Redis;
  3. namespace Admin.NET.Core;
  4. public static class CacheSetup
  5. {
  6. /// <summary>
  7. /// 缓存注册(Redis缓存)
  8. /// </summary>
  9. /// <param name="services"></param>
  10. public static void AddCache(this IServiceCollection services)
  11. {
  12. var cacheOptions = App.GetOptions<CacheOptions>();
  13. if (cacheOptions.CacheType != CacheTypeEnum.RedisCache.ToString())
  14. return;
  15. services.AddSingleton<IDistributedCache>(provider =>
  16. {
  17. var redisStr = $"{cacheOptions.RedisConnectionString},prefix={cacheOptions.InstanceName}";
  18. var redis = new CSRedisClient(redisStr);
  19. RedisHelper.Initialization(redis);
  20. return new CSRedisCache(redis);
  21. });
  22. }
  23. }