Как добавить несколько экземпляров redis с помощью внедрения зависимостей в .net core 2.2 - PullRequest
0 голосов
/ 21 октября 2019

у нас есть приложение .net core 2.2, которое подключает сервер Redis, и оно работает нормально. Теперь нам нужно подключиться к другому redis в том же контроллере и обновить данные на обоих серверах.

public static void AddRedis2(this IServiceCollection services, IConfiguration configuration)
{

            var configOptions = ConfigurationOptions.Parse(configuration["Redis2"]);
            configOptions.ReconnectRetryPolicy = new ExponentialRetry(5);
            var Connection = ConnectionMultiplexer.Connect(configOptions);
            var Database = Connection.GetDatabase();

            services.AddSingleton<IDatabase>(Database);
            services.AddScoped<RedisCache2>();
            services.AddScoped<Store2>();
}

public static void AddRedis1(this IServiceCollection services, IConfiguration configuration)
{

            var configOptions = ConfigurationOptions.Parse(configuration["Redis1"]);
            configOptions.ReconnectRetryPolicy = new ExponentialRetry(5);
            var connection = ConnectionMultiplexer.Connect(configOptions);
            var database = connection.GetDatabase();

            services.AddSingleton<IDatabase>(database);
            services.AddScoped<RedisCache1>();
            services.AddScoped<Store1>();
}



            services.AddRedis1(Configuration);
            services.AddRedis2(Configuration);


public async Task<ActionResult<CreateResponse>> CreateAsync([FromForm] PostModel model, [FromServices]IConfiguration configuration, [FromServices] Store1 store1, [FromServices] Store2 store2)
{

}

Я ожидаю, что данные будут обновлены в двух хранилищах - Store1 и Store2 (ключи redis), но оба хранилищавозьмите экземпляр Redis2 и не обновите Store1.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...