我们有一个Web应用程序,它使用Redis进行缓存。
当一个具有200 20值的密钥与几乎并发的请求(Fiddler Shift + R的相同请求20-50倍)被访问时,我注意到了一些延迟峰值。
该项目的正常读取时间约为50 is ,但峰值为800 is.。

我在想,如果有一个方法来优化这一点?是否有一种使用管道/批处理的方法?会有什么不同吗?
发布于 2017-08-01 14:22:00
有可能吗?也许吧。问题是,你看到的请求是不相关的,也不知道对方。因此,要进行批处理,您需要执行如下操作:
GET。这造成了大量的管理开销,并减缓了请求的速度。
最好是使用内存中的缓存来存储一段时间的结果,并在将来的请求中重用它们。
这仍然是很棘手的,因为当前另一个请求从redis中获取的密钥是请求传入的。如果你关心这类事情,很难拒绝飞行中的请求。
https://stackoverflow.com/questions/45440341
复制相似问题