众所周知redis只有一个线程,那么在多并发情况下:
面对同一时间高并发请求的场景,将数据设置进redis时如何避免大量请求redis导致cpu过高?我想到了三种方案:
不知道哪一种最合适,个人感觉第三种因为是redis支持的。希望高人指点一二,不胜感激。
阿神2017-04-10 14:34:25
关于楼主的问题,我觉得重点是了解下面2点:
while True:
# 当没有客户端发请求时,redis会阻塞在select调用
clients = select(...);
for client in clients:
processRequest(client)
上述的整个流程封装在ae事件库中,可以参考ae.c, ae.h源代码