php-简单缓存功能-每小时检索数据

php-简单缓存功能-每小时检索数据,php,Php,我想用php设置一个简单的缓存特性。我希望脚本从某处获取数据,但不是在每个页面视图上都这样做,而是每小时 我知道我可以有一个cron作业,每小时运行一个php脚本 但是我想知道,如果没有cron,就在基于获取(或缓存)的数据创建页面的php脚本中,是否可以实现这一点。我正在寻找最简单的解决方案。它不必精确为什么不使用APC? 你能行 apc_store('yourkey','yourvalue',3600); 然后,您可以通过以下方式检索内容: 为什么不使用APC? 你能行 apc_store

我想用php设置一个简单的缓存特性。我希望脚本从某处获取数据,但不是在每个页面视图上都这样做,而是每小时

我知道我可以有一个cron作业,每小时运行一个php脚本


但是我想知道,如果没有cron,就在基于获取(或缓存)的数据创建页面的php脚本中,是否可以实现这一点。我正在寻找最简单的解决方案。它不必精确

为什么不使用APC?
你能行

apc_store('yourkey','yourvalue',3600);
然后,您可以通过以下方式检索内容:


为什么不使用APC?
你能行

apc_store('yourkey','yourvalue',3600);
然后,您可以通过以下方式检索内容:


我也会使用APC,但无论哪种情况,您都需要一些逻辑。PHP中的基本文件缓存:

if (file_exists($cache_file) and time() - filemtime($cache_file) < 3600)
{
    $content = unserialize(file_get_contents($cache_file));
}
else
{
    $content = your_get_content_function_here();
    file_put_contents($cache_file, serialize($content));
}
if(file_存在($cache_file)和time()-filemtime($cache_file)<3600)
{
$content=unserialize(文件获取内容($cache\u文件));
}
其他的
{
$content=您的_get_content_函数_here();
文件内容($cache\u文件,序列化($content));
}

如果$content不是字符串(例如数组或对象),您只需要序列化/取消序列化。

我也会使用APC,但在这两种情况下,您仍然需要一些逻辑。PHP中的基本文件缓存:

if (file_exists($cache_file) and time() - filemtime($cache_file) < 3600)
{
    $content = unserialize(file_get_contents($cache_file));
}
else
{
    $content = your_get_content_function_here();
    file_put_contents($cache_file, serialize($content));
}
if(file_存在($cache_file)和time()-filemtime($cache_file)<3600)
{
$content=unserialize(文件获取内容($cache\u文件));
}
其他的
{
$content=您的_get_content_函数_here();
文件内容($cache\u文件,序列化($content));
}

仅当$content不是字符串(例如数组或对象)时,才需要序列化/取消序列化。

Cron是在后台执行此操作的唯一方法。否则每小时就会有一次页面加载缓慢。Jleagle,您可以通过先显示缓存的页面,然后在发送所有输出后运行更新来防止这种情况。Cron是在后台执行更新的唯一方法。否则每小时就会有一次页面加载缓慢。Jleagle,您可以通过先显示缓存的页面,然后在发送所有输出后运行更新来防止这种情况。