我已经实现了Sitecore自定义缓存,该缓存可以在本地实例上正常运行。我已将更改推送到生产环境中(在生产环境中,我们有5个CD服务器通过负载平衡器提供服务)。发出第一个请求时,代码将从DB中获取一些数据并将其缓存。如果同一请求发送到其他CD盒,则先前获取的数据在缓存中不可用!
有人可以帮忙吗? CD服务器不共享缓存吗?
这是内存中高速缓存的预期行为,仅与本地实例一样,这对于单服务器部署非常有效,但是当您拥有多张CD时,它们中的每一个都有自己的本地内存高速缓存存储,不与其他人共享。
因此,对于扩展部署,可以将Redis缓存用作集中式缓存存储,以便每个CD角色都可以访问该缓存存储并检索缓存的数据。
Redis缓存经过时间验证,在多张CD之间同步数据更新时效果很好。