У меня есть приложение asio asio со многими потоками, аналогичное веб-серверу, обрабатывающее сотни одновременных запросов. Каждому запросу необходимо выполнить вызовы как memcached, так и redis (через libmemcached и redispp соответственно). Лучше ли в этой ситуации сделать отдельное соединение как с redis, так и с memcached из каждого потока (эффективно утроивая открытые сокеты на сервере, три на запрос)? Или у меня есть способ создать статический объект с одним соединением memcached/redis и разрешить всем потокам делиться этим единственным соединением? Я немного смущен, когда речь идет о безопасности потоков чего-то подобного, и все должно быть асинхронным между потоками, но блокировка для каждого отдельного запроса каждого потока (так что каждый поток имеет линейную прогрессию, но многие потоки могут быть в разные места в их собственной прогрессии в любой момент времени). Имеет ли это смысл?Подключение к удаленным службам из многопоточных запросов
Большое спасибо!