using CSRedis; using Microsoft.Extensions.Caching.Memory; using Microsoft.Extensions.Caching.Redis; namespace Admin.NET.Core; public static class CSRedisSetup { /// /// CSRedis初始化 /// /// public static void AddCSRedisSetup(this IServiceCollection services) { services.AddSingleton(provider => { var cacheOptions = App.GetOptions(); if (cacheOptions.CacheType == CacheTypeEnum.RedisCache.ToString()) { var redisStr = $"{cacheOptions.RedisConnectionString},prefix={cacheOptions.InstanceName}"; var redis = new CSRedisClient(redisStr); RedisHelper.Initialization(redis); return new CSRedisCache(redis); } else // 默认使用内存 { services.AddDistributedMemoryCache(); IOptions options = provider.GetService>(); return new MemoryDistributedCache(options); } }); } }