.net - 如何同步 Redis 与本地内存缓存?

标签 .net caching redis nopcommerce

我的应用程序 (NopCommerce) 在每次页面请求时使用缓存服务 50-150 次。当我使用 Redis 实现该服务时,它会减慢页面加载速度。

我打算将结果缓存在内存中并与 Redis 同步。是否有任何 nuget 包或这样的项目?

最佳答案

您能否举例说明您是如何为缓存目的查询 redis 的?

Redis 本质上并不慢,如果某些东西看起来很慢,那么你需要看看你是如何运行你的事务的,所以我会说确保你正在使用 MULTI而不是执行 50-150 个单一的 redis 事务 - 您可以将它们全部移动到一个 MULTI 事务请求中。还要检查您使用的 redis 客户端是否支持 pipelining .

您会在应用内存中运行自己的本地缓存时遇到问题,例如:

  • 多个应用实例都有不同的缓存。
  • 很多缓存未命中,其中一个应用服务器缓存了某些内容而另一个应用服务器没有缓存,因为缓存仅针对每个实例进行了本地化。
  • 有效地使缓存过期而不会给您的应用带来太多开销。

仅举几例。

参见 http://skipperkongen.dk/2013/08/27/how-many-requests-per-second-can-i-get-out-of-redis/对于 redis 基准测试,它确实并不慢,另请参阅有关流水线的部分。

关于.net - 如何同步 Redis 与本地内存缓存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34695892/

相关文章:

caching - Google Cloud CDN "Force Cache All Content"不缓存所有内容

php - 相对较大的 JSON 文件的服务器端和客户端缓存

php - 如何将结果从 zrange withscore 传输到 PHP 中的数组

.net - Serilog Sinks Redis 是否支持 netcore 1.x?

c# - Assembly.LoadFrom之后的ResolveEventHandler

c# - 在 WinPhone 中使用 PCL 中的 System.ComponentModel.DataAnnotations 就像 "microsoft bcl portability pack"一样?

c# - ContextMenuStrip 你如何强制更新(大小错误 b/c 我隐藏了它的一些项目)

c++ - 需要缓存友好的数据结构来将字母的邻居存储在二维数组中

redis - AWS (ElastiCache) 中的高 Redis 延迟

c# - CLI C++ 派生自 C# 一次性类