我们最近将内存缓存替换为Azure Redis缓存。 由于API相同,因此非常简单。一切都很好,除了更大的延迟。我怀疑这与代表我们的不正确的缓存技术有关。但是由于在使用内存缓存时这不是问题,所以我希望可以通过Redis配置解决此问题。
我们的数据结构反映了数据库模式。每条记录一个键。例如,要获取100个用户,我们将查询缓存100次。由于Redis喜欢使用较小的块,因此这似乎是可行的方法。
我已经阅读了有关流水线和多路复用的知识。那可以解决这个问题吗?
我们的操作方式示例:
services.AddDistributedRedisCache(action =>
{
action.Configuration = "...";
action.InstanceName = "...";
});
在每次循环迭代中都会调用它。
byte[] cacheData = await Cache.GetAsync(key);
注意:Azure Redis缓存与我们的Web服务器位于同一区域。