gpt4 book ai didi

php - 获取有关缓存的更新数据

转载 作者:行者123 更新时间:2023-11-30 00:45:18 25 4
gpt4 key购买 nike

我已经在我的 php 脚本中包含了缓存..缓存进展顺利,但问题是即使数据库中的数据发生更改,它也没有得到反射(reflect)..它显示相同的旧数据..我想要的是,如果数据库中的任何数据发生更改,它应该获取新数据。

<?php 
// Load the cache process i
include("cache.php");
// Connect to database
include("config.php");
mysql_connect($db_host, $db_username, $db_password) or die(mysql_error()); mysql_select_db($db_name) or die(mysql_error()); ?>
<html>
<body>
<h1>Articles</h1>
<ul>
<?php // Some query
$q = mysql_query("SELECT * FROM articles ORDER BY id");
while ($r = mysql_fetch_array($q)) {
  echo '<li><a href="view_article.php?id='.$r['id'].'">'.$r['title'].'</a></li>';
} ?>
</ul>
</body>
</html>
<?php // Save the cache include("cache_footer.php"); ?>

最佳答案

这里有很多方法,我都会使用某个标志。一个文件、一个变量或者其他什么。如果您进行数据库查询,则将标志更改为其他内容,并且每次需要缓存时检查该标志是否已过期,如果是->重建缓存

编辑:

好的,非常简单,这样你就明白了:

在查询之前(或之后):

file_put_contents('path/to/cache/cache.flag', md5(time()));

在您的缓存文件中:

$cacheversion = 'someHashWhichYouUpdateEverytimeYouBuildANewCache';

if($cacheversion != file_get_contents(__DIR__.'/cache.flag') {
//build a new cachefile and put the latest hash here
} else {
echo $html;
}

关于php - 获取有关缓存的更新数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21427828/

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