我有一个带有许多线程的 boost asio 应用程序,类似于 Web 服务器,可以处理数百个并发请求。每个请求都需要调用 memcached 和 redis(分别通过 libmemcached 和 redispp)。在这种情况下,最好的做法是从每个线程分别连接到 redis 和 memcached(有效地将服务器上打开的套接字增加三倍,每个请求三个)?或者有没有办法让我使用单个 memcached/redis 连接构建一个静态对象,并允许所有线程共享该单个连接?当谈到这样的线程安全时,我有点困惑,线程之间的一切都需要异步,但是阻塞每个线程的单独请求(所以每个线程都有一个线性进程,但是在任何给定时间,许多线程都可以在它们自己的进程中位于不同的位置)。那有意义吗?
非常感谢!