我有一个端点,在那里我可以请求使用Siesta查询的多个数据块(例如https://example.com/things?ids=1,2,3
)。我试图找出我的持久实体缓存的正确行为,如果我只有一些things
缓存。所以,如果我有东西1和东西2,但不是缓存的东西3,我想返回部分命中,并让Siesta也用原始URL查询我的服务器。然而,我的理解是,如果EntityCache.readEntity
返回任何东西,那么Siesta假定查询已完全完成,并且不继续进行网络请求。
是否有一个好方法让我实现部分命中,或者我需要从readEntity
返回nil
并等待服务器的响应?
让缓存返回具有遥远过去的Entity.timestamp
的部分内容。(用零也可以。)这将导致1,2部分内容在启动和脱机时立即出现,但loadIfNeeded()
将认为该内容已过时,因此仍然触发对1,2,3的请求。