Redis客户端不会创建任何额外的客户端线程,并在现有线程中工作。
\n\nRedis 在另一个(主)进程中工作。您使用的 Redis API 在本地进程中工作,并使用进程间通信与主进程进行通信。异步请求意味着您的进程或线程将任务交给另一个进程或线程,然后可以执行任何其他您的任务或等待事件。一段时间后,异步回复到达您的应用程序并可供使用。您的应用程序必须使用https://en.wikipedia.org/wiki/Event_loop或任何通过调用回调来处理事件(在本例中为 redis 应答)来通知您的异步管理系统。
\n\n异步架构意味着您运行事件循环来为每个事件调用回调处理程序。调用回调时,您可以创建许多异步任务。一旦任务创建,当任务完成或发生错误时,回调事件处理程序将被调用。回调可以分配给启动应用程序或出现新的网络连接。当调用回调时,您可以创建redis任务,稍后将调用结果事件回调。当前线程中的所有内容。我 \xd0\xbdou 有多个线程,可以合理地期望每个线程都有一个事件循环。
\n\nRedis 的单线程性质:http://redis.io/topics/latency#single-threaded-nature-of-redis
\n\n由于 Redis 使用多路复用和非阻塞 I/O,因此客户端套接字处于非阻塞状态。http://redis.io/topics/clients这意味着你的客户端永远不会被阻止。
\n\n从Redis 2.4开始,Redis中的线程仅用于在后台执行一些缓慢的I/O操作,主要与磁盘I/O相关,但这并不能改变Redis使用单个线程服务所有请求的事实。
\n