32 lines
1.2 KiB
C#
32 lines
1.2 KiB
C#
|
using Microsoft.Extensions.Caching.StackExchangeRedis;
|
|||
|
using Microsoft.Extensions.Configuration;
|
|||
|
using Microsoft.Extensions.DependencyInjection;
|
|||
|
using StackExchange.Redis;
|
|||
|
using Syc.Abp.Caching.Redis;
|
|||
|
using Volo.Abp.Caching;
|
|||
|
using Volo.Abp.Caching.StackExchangeRedis;
|
|||
|
using Volo.Abp.Modularity;
|
|||
|
using Volo.Abp.Threading;
|
|||
|
|
|||
|
namespace Syc.Abp.Caching
|
|||
|
{
|
|||
|
[DependsOn(typeof(AbpCachingStackExchangeRedisModule))]
|
|||
|
public class SycAbpCachingModule:AbpModule
|
|||
|
{
|
|||
|
public override void ConfigureServices(ServiceConfigurationContext context)
|
|||
|
{
|
|||
|
base.ConfigureServices(context);
|
|||
|
var configuration = context.Services.GetConfiguration();
|
|||
|
var redisConfiguration = configuration["Redis:Configuration"];
|
|||
|
var configurationOptions = context.Services.ExecutePreConfiguredActions<ConfigurationOptions>();
|
|||
|
RedisConfigurator.Configure(redisConfiguration);
|
|||
|
Configure<RedisCacheOptions>(opt =>
|
|||
|
{
|
|||
|
opt.ConfigurationOptions = configurationOptions;
|
|||
|
opt.ConnectionMultiplexerFactory = async () => RedisConnectionManage.Instance;
|
|||
|
});
|
|||
|
|
|||
|
context.Services.AddTransient<ICacheProvide, RedisCacheProvide>();
|
|||
|
}
|
|||
|
}
|
|||
|
}
|