我对redis很新,这一直让我很好奇。
我在nodejs(npm' s redis包)中使用了一个redis客户端连接,该连接包含在我的每个文件中。
比如说:文件a.js用于从mysql读取并将数据插入redis散列,文件b.js从redis散列读取并输出结果。
现在在生产环境中,我有大量请求提交到服务于内容的b.js文件,在我之间有一些请求被发送到a.js文件以便动态更新内容。
我想知道对a.js的请求是否会降低b.js中已经运行的redis连接的速度。
答案 0 :(得分:2)
Redis是单线程的,所以如果它正在忙着写数据,那么你的读取将被延迟。
您可以在此SO答案中找到更多信息:Redis is single-threaded, then how does it do concurrent I/O?
答案 1 :(得分:0)
Redis是单线程,然后没有并发读/写。如果有两个客户端连接发送命令到redis,它们将排队。
然后是的,如果a.js向Redis发送了很多命令,b.js命令将被插入a.js命令之间
答案 2 :(得分:0)
不,连接速度不会慢下来。减速的是redis的响应时间。但我怀疑你会注意到,因为我们正在谈论每个请求几微秒。