如何在 rabl rails 4 中决定传递的对象以生成缓存键

How to decide objects passed to generate cache-key in rabl rails 4

我们使用 rabl 作为我们的视图模板 rails 4. 最近我们正在尝试缓存这些 rabl 视图。我们知道缓存是通过在视图中添加以下行来完成的—— 缓存 some_object

我的问题是如何决定这个some_object?

例如,我们有 returns 个视频的视图,其中包含相关产品的信息。现在有一些数据是从该视图中的用户对象派生的,不会被缓存为缓存,这会导致来自不同用户的请求的数据不正确。所以我明白我需要为缓存键传递用户对象。但是我应该传递哪些其他对象来为此视图生成缓存键并获得最佳性能?

这取决于您的观点。如果您有用户和视频,我会将用户和视频添加到缓存键。这完全取决于什么对您来说很重要。缓存键中的更多对象意味着缓存中的更改更频繁,因为当您更改用户和视频时,键也会更改。