使用瞬时API存储帖子社交计数器

时间:2014-07-09 作者:Webfreak

我想知道使用瞬态api为每个帖子缓存社交计数器是否是一种好的做法。在处理和获取所有社交API时,加载帖子页面的速度非常慢。

1 个回复
最合适的回答,由SO网友:TomHarrigan 整理而成

是的,社会计数是使用瞬态的一个很好的用例。正如您所提到的,除了页面加载速度慢之外,如果在每次页面加载时都发出外部请求,这也将有助于防止突破API限制。

假设您将其设置为缓存30分钟,并且在前端加载数据时检查缓存过期时间,那么每30分钟您将有一个较慢的页面加载时间,直到重新缓存数据。解决方法包括通过cron作业运行刷新,这样就不会影响用户体验,或者检查缓存在其他挂钩上是否有效,例如,如果站点处于超级活动状态并且全天都发布了新内容,则进行后期编辑/后期保存,但如果没有生成新内容,这可能会导致社交计数变得有点过时。

您还可以通过AJAX计算和加载计数,以便页面加载,然后引入社交计数,从而完全消除前端用户的加载时间问题。

我强烈建议使用Mark Jaquith\'s TLC Transients 插件。它允许软过期和后台更新(通过在关机挂钩上进行数据提取),它还可以进行锁定,这将在竞争条件下节省您的时间。示例:缓存已过期,同时有10000人访问了您的页面,他们都将启动进程重新计算计数并将其缓存,直到数据被缓存为止。锁定将检查是否有其他人正在尝试计算该值,并阻止下一个人也进行计算。我曾经有过因为比赛条件而提出3万个请求的情况。

结束