使用PHP缓存MySQL查询结果的最简单方法?

2021-12-20 00:00:00 caching php mysql

每次有人登陆我的页面 list.php?id=xxxxx 它都会重新查询一些 MySQL 查询以返回:

Each time someone lands in my page list.php?id=xxxxx it requeries some MySQL queries to return this:

$ids = array(..,..,..); // not big array - not longer then 50 number records
$thumbs = array(..,..,..); // not big array - not longer then 50 text records
$artdesc = "some text not very long"; // text field

因为我从中进行查询的数据库非常大,所以我想将此结果缓存 24 小时,例如:xxxxx.php 在/cache/目录中,以便我可以使用如果它存在,它在 include("xxxxx.php") 中.(或txt文件!?,或任何其他方式)

Because the database from which I make the queries is quite big I would like to cache this results for 24h in maybe a file like: xxxxx.php in a /cache/ directory so i can use it in include("xxxxx.php") if it is present. ( or txt files !? , or any other way )

因为有非常简单的数据,我相信它可以使用几行 PHP 代码来完成,不需要使用 memcached 或其他专业对象.

Because there is very simple data I believe it can be done using a few of PHP lines and no need to use memcached or other professional objects.

因为我的 PHP 非常有限,有人可以为此任务放置 PHP 主线(或代码)吗?

Becasuse my PHP is very limited can someone just place the PHP main lines ( or code ) for this task ?

我真的会很感激!

推荐答案

缓存 PHP 数组非常简单:

Caching a PHP array is pretty easy:

file_put_contents($path, '<?php return '.var_export($my_array,true).';?>');

然后你可以把它读出来:

Then you can read it back out:

if (file_exists($path)) $my_array = include($path);

您可能还想查看提供缓存的 ADOdb内部.

相关文章