【问题标题】:Sitecore custom cache is not shared across all CD serversSitecore 自定义缓存并非在所有 CD 服务器之间共享
【发布时间】:2020-05-14 08:00:43
【问题描述】:
我已经实现了一个 Sitecore 自定义缓存,它在我的本地实例上运行良好。我已将更改推送到生产环境(在生产环境中,我们有 5 个 CD 服务器,通过负载平衡器提供服务)。当发出第一个请求时,代码会从 DB 中获取一些数据并将其缓存。如果相同的请求发送到其他 CD 盒,则先前获取的数据在缓存中不可用!
有人可以帮忙吗? CD 服务器不共享缓存吗?
【问题讨论】:
标签:
caching
sitecore
sitecore8
sitecore-mvc
【解决方案1】:
这是内存缓存的预期行为,仅适用于单服务器部署,例如您的本地实例,但是当您有多张 CD 时,每张 CD 都有自己的本地内存缓存存储,不与其他人共享。
因此,对于扩展部署,您可以将 Redis 缓存用作集中式缓存存储,以便每个 CD 角色都可以访问该缓存存储并检索缓存的数据。
Redis Cache 经过时间验证,在多张 CD 之间同步数据更新时运行良好。