public ActionResult Index()
{
RedisStore redis = new RedisStore();
redis.AddItemByKey("key1", "value1");
redis.AddItemByKey("key2", "value2");
ViewBag.Title = "Home Page";
return View();
}
Когда открыл консоль редиса то там указано что к редису подсоединено 3 клиента -
# Clients
connected_clients:3
Вопросы:
1. правильно ли работаю с редисом
2. почему на каждую операцию создается по соединению к редису (и эти соединения не закрываются пока не перезапустишь проект)
3. возможно нужно шарить редис на глобальном уровне приложения?
Вполне возможно, что следует обратить внимание на внедрение зависимостей, чтобы уберечь код от конструкций вида: new RedisStore();
А насчет соединений, то можно использовать Dispose-паттерн, а также конструкцию вида using (var store = new RedisStore()) { /*code*/ }
Тогда соединения должны закрываться автоматически.
Попробуйте найти в интернете примеры работы с редисом, в том же .NET Core уже были примеры сервисов на его основе.
Спасибо, в доках редиса вроде не написано что необходимо using () или закрывать как то соединения, но попробую. Пока для меня не понятно почему для одного обьекта редиса и двух операций создается по одному соединению.... вроде по идее должно шариться