我有一个WordPress网页,其中包含从公共Facebook页面检索的帖子。 FB页面不是我的。但问题是我的网页上有数百万访问者,每次用户访问网页时,都会对FB页面进行API调用。由于facebook在一个时间范围内仅允许有限数量的API调用,因此我的限制会立即达到如此大量的访问者。有没有解决这个问题的方法。我心中的想法是:
或者我们可以通过支付Facebook或类似的东西获得更多的API调用。我已经准备好支付,因为我的API调用可以满足我的需求。 我对任何解决方案持开放态度,非常感谢任何解决问题的帮助。
答案 0 :(得分:0)
这个问题有几种可能的解决方案
您可以使用应用程序向Facebook API添加中间点。这意味着您将拥有一个存储Facebook相关信息的数据库表,可能还有生命周期时间,如:
facebook_data(user_id,lifecycle_time,...)
每当理论上需要向Facebook API发送请求时,您可以检查数据库表以查看用户是否已在该表中有记录以及它是否仍然有效。如果是,请将此数据提供给用户。如果没有,请向Facebook发送API请求并将响应存储在此表中。
您还可以将Facebook相关数据存储在应用程序或文件内存的Web浏览器的localStorage中,甚至是特定于每个用户的本地数据库中。这样可以防止您的应用程序在您的服务器上发出大量通信和服务器负载。
如果Facebook相关数据对您的用户不是很紧急,您可以将要发送的请求排队并发送单个请求,而不是每次访问每个用户的请求。你可以通过cron工作来做到这一点。
您可以将用户分组,并定期通过Facebook更新其值并存储在数据库中。
当然,您可以组合这些方法,例如,您可以同时存储在本地内存,文件或localStorage值和数据库中,因此首先搜索本地存储的信息,如果不是甚至需要请求它存在并且仍然有效。如果没有,则检查数据库记录并使用该记录(如果存在且仍然有效)。如果在本地资源和数据库中找不到数据,则可以发送API请求。