Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Facebook图形API缓存_Php_Facebook_Api_Codeigniter_Caching - Fatal编程技术网

Php Facebook图形API缓存

Php Facebook图形API缓存,php,facebook,api,codeigniter,caching,Php,Facebook,Api,Codeigniter,Caching,我正在使用CodeIgniter内部的facebook graph API,唯一的问题是-它的运行速度太慢了,我想知道是否有可能以某种方式将来自graph服务器的响应缓存到我自己的Web服务器上 为了让你了解我的意思,在我的模型中,我为数据库中的每条记录调用了1个graph API(获取分析的喜欢数),数据库中的每条记录都是我网站上的一个页面,因此你可以想象这会对我的应用程序的性能产生什么影响 任何帮助都将不胜感激……请确保它与任何其他缓存文件一样。将JSON响应保存为文件,并对照time()检

我正在使用CodeIgniter内部的facebook graph API,唯一的问题是-它的运行速度太慢了,我想知道是否有可能以某种方式将来自graph服务器的响应缓存到我自己的Web服务器上

为了让你了解我的意思,在我的模型中,我为数据库中的每条记录调用了1个graph API(获取分析的喜欢数),数据库中的每条记录都是我网站上的一个页面,因此你可以想象这会对我的应用程序的性能产生什么影响


任何帮助都将不胜感激……

请确保它与任何其他缓存文件一样。将JSON响应保存为文件,并对照
time()
检查
filemtime()
。仅当缓存文件旧时才点击graph API。

确保它与任何其他缓存文件一样。将JSON响应保存为文件,并对照
time()
检查
filemtime()
。只有当缓存文件旧时,才点击图形API。

缓存数据的方法很多。您可以使用Redis、Mongo、Memcached,您可以将其作为文件存储在磁盘上,甚至可以将其写入SQL数据库。然而,Facebook的API服务条款禁止永久存储此类数据,因此要小心,并确保缓存过期或以某种方式是临时的。

缓存数据的方法很多。您可以使用Redis、Mongo、Memcached,您可以将其作为文件存储在磁盘上,甚至可以将其写入SQL数据库。但是,Facebook的API服务条款禁止永久存储此类数据,因此要小心,并确保您的缓存过期或以某种方式是临时的。

如果我的缓存不是临时的(我会尽我最大的努力),但Facebook有办法判断吗?没有,他们必须亲自调查。所以,如果你打了很多电话,但不明显你是在永久存储这些东西,你可能没问题。如果我的缓存不是临时的(我会尽我所能),但facebook有办法知道吗?不,他们必须亲自调查。因此,如果您正在进行大量调用,并且不明显您正在永久存储这些内容,那么您可能没问题。filemtime和time()graph API/SDK函数还是PHP函数?更重要的是,如果time和filemtime是PHPSDK函数,我会使用它与graph API进行对话。它们是PHP函数吗
filemtime()
是上次修改文件的时间戳
time()
是当前时间戳。例如,如果你只想每小时点击一次graph API,你需要创建一个简单的if:
if((time()-filemtime($my_-fbgraph\u cache))<3600{/*include($my_-fbgraph\u cache)*/}否则{/*获取graph API并重写缓存,并显示*/}
AllenWebguy非常感谢你提供了关于filemtime()和time()的信息。实际上,我将它构建到了我使用的框架的facebook库中,并将其提交回来——您可以在这里找到代码:filemtime和time()graph API/SDK函数还是PHP函数?更重要的是,如果time和filemtime是PHPSDK函数,我会使用它与graph API进行对话。它们是PHP函数吗
filemtime()
是上次修改文件的时间戳
time()
是当前时间戳。例如,如果你只想每小时点击一次graph API,你需要创建一个简单的if:
if((time()-filemtime($my_-fbgraph\u cache))<3600{/*include($my_-fbgraph\u cache)*/}否则{/*获取graph API并重写缓存,并显示*/}
AllenWebguy非常感谢你提供了关于filemtime()和time()的信息。事实上,我将其构建到了我的facebook库中,并使用了我使用的框架,并将其贡献回来-您可以在这里找到代码: