gpt4 book ai didi

php - 如何缓存 twitter api 结果?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:54:01 24 4
gpt4 key购买 nike

我想缓存 twitter api 结果并将它们显示给用户..

缓存结果的最佳方法是什么?

我正在考虑根据时间限制将结果写入文件。这样可以吗?还是应该使用其他任何方法?

最重要的是理想的缓存时间是多少?我想显示来自推特的最新内容,但推特 API 有请求限制。我的网站每天都有稳定的访问者..

最佳答案

最简洁的方法是使用 APC (替代 PHP 缓存)如果已安装。这具有内置的“生存时间”功能:

if (apc_exists('twitter_result')) {
$twitter_result = apc_fetch('twitter_result');
} else {
$twitter_result = file_get_contents('http://twitter.com/...'); // or whatever your API call is
apc_store('twitter_result', $twitter_result, 10 * 60); // store for 10 mins
}

10 分钟的数据超时是我的选择。这将取决于提要的更新频率...


编辑 如果您没有安装 APC,您可以使用一个非常简单的文件来完成此操作:

if (file_exists('twitter_result.data')) {
$data = unserialize(file_get_contents('twitter_result.data'));
if ($data['timestamp'] > time() - 10 * 60) {
$twitter_result = $data['twitter_result'];
}
}

if (!$twitter_result) { // cache doesn't exist or is older than 10 mins
$twitter_result = file_get_contents('http://twitter.com/...'); // or whatever your API call is

$data = array ('twitter_result' => $twitter_result, 'timestamp' => time());
file_put_contents('twitter_result.data', serialize($data));
}

关于php - 如何缓存 twitter api 结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4123823/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com