我有一个问题。我什么时候需要在Cache中传递更多帖子?我在MainController上有代码:
$posts = Cache::rememberForever('posts', function() {
return Post::active()->paginate(15);
});
return view('posts', compact('posts);
我可以永远缓存吗?
注意:在我的帖子模型中,我有全局观察者:created
,deleted
,updated
,saved
。在所有这些观察者中,我都这样做:Cache::forget('posts')
。怎么会最好?永久缓存或按时缓存帖子(10分钟)。请帮我决定。发布信息非常活跃,正在添加...间隔:10、20、30分钟
答案 0 :(得分:0)
通常,您应该尽可能长时间地缓存,以最大程度地提高页面加载速度,但不要超过您期望的新内容显示的时间...否则,没有人会看到新内容。
您可以缓存10或30分钟,因为您仅每10-30分钟添加一次新帖子。
如果您永久缓存,则缓存后将看不到任何新帖子。除非您手动清除缓存。
答案 1 :(得分:0)
首先,您需要根据业务领域和需求来决定,实时帖子将保留什么值与缓存过期后显示的帖子相比。
例如,如果它是一个普通博客,则可能在创建完之后没有立即显示它,并且一旦清除了当前缓存,就将其保存在缓存中可能很好。如果是实时库存申请,那么每秒钟的延迟都很重要。
根据活跃的用户,每小时添加的帖子数量,您可以确定缓存记忆时间的重心。也许您的情况是20-30分钟就可以了。没有标准的理想时间来将值保存在缓存中。
有时候,由于不太重要的原因,您可以避免忘记/清除缓存。例如,您缓存了100个帖子,而删除了一个帖子。您可以避免重建99个帖子高速缓存,但在缓存中删除第100个帖子。当用户单击它进入其详细信息页面时,您可以说您请求的页面不再可用。对于更新等同样如此。