0
我们有一个使用Redis进行缓存的Web应用程序。Redis String在批处理/事务中获取?
我注意到一些等待时间尖峰当与200KB值一个密钥与几乎并发请求(的Fiddler移+相同的请求的ř20 - 50倍)进行访问。
该物品的正常读取时间大约为50ms,但峰值约为800ms。
我在想,如果有一种方法来优化呢?有没有办法使用管道/批处理GET?它会有所作为吗?
我们有一个使用Redis进行缓存的Web应用程序。Redis String在批处理/事务中获取?
我注意到一些等待时间尖峰当与200KB值一个密钥与几乎并发请求(的Fiddler移+相同的请求的ř20 - 50倍)进行访问。
该物品的正常读取时间大约为50ms,但峰值约为800ms。
我在想,如果有一种方法来优化呢?有没有办法使用管道/批处理GET?它会有所作为吗?
这可能吗?也许。问题是,你所看到的请求是不相关的,彼此不知道。所以,我们要做配料,你需要做的是这样的:
GET
。这会产生很多管理开销并降低请求速度。
使用内存中的cache可能会更好地在一段时间内存储结果,并将它们重用以用于将来的请求。
由于其他请求目前从redis中获取的密钥请求来到的情况,这仍然很棘手。如果你关心这种事情,可能很难去除空中请求。
谢谢captncraig。内存中缓存的想法听起来不错。我想知道为什么Redis StringGet似乎突然涌现。我认为这可能与争取在Connection上访问的请求有关。 – Water
由于时间不好,感觉您的redis实例可能尺寸过小或效能不足,但很难从这里得知。可能是任何数量的网络因素或配置。 – captncraig
对于redis实例,20-50个请求实际上是一个很小的数字。即使是小型服务器上的大型请求也应该比这更快。 – captncraig