RedisInstaller.cs
971 Bytes
using Microsoft.AspNetCore.Builder;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Rcs.Domain.Settings;
using StackExchange.Redis;
namespace Rcs.Infrastructure.Installs
{
public static class RedisInstaller
{
public static void InstallRedis(this WebApplicationBuilder builder)
{
var redisSettings = builder.Configuration.GetSection(nameof(AppSettings)).Get<AppSettings>()!.Redis;
var connectionMultiplexer = ConnectionMultiplexer.Connect(new ConfigurationOptions
{
EndPoints = { $"{redisSettings.Host}:{redisSettings.Port}" },
AbortOnConnectFail = false,
Ssl = false,
Password = redisSettings.Password
});
// 注册 IConnectionMultiplexer 为单例
builder.Services.AddSingleton<IConnectionMultiplexer>(connectionMultiplexer);
}
}
}