php - 如何检查查询返回的结果自上次检查以来是否已更改

标签 php mysql caching

出于缓存目的,我需要检查sql返回的数据集是否已更改。 HTTP_IF_MODIFIED_SINCE 将检查文件代码是否已更改(如果我错了,请纠正我)。我需要一种方法来检查 sql 返回的结果是否已更改?最好的方法/方式是什么?谢谢。

最佳答案

I need to check whether sql returned set of data has changed

真正的答案是:你不能:)

当您没有检查时,如何知道数据已更改?正确——你只是无法分辨!

当数据可能发生变化时,根据的假设调整缓存时间。没有简单的方法可以决定这一点。缓存意味着要权衡从数据库获取新数据的成本以及您(您的用户)可以使用可能旧数据的时间,并且并非每条数据都可以像其他数据一样可缓存。

数据库本身使用查询缓存,并且应该能够从其缓存中提供未更改的结果集(这样做更加比 PHP 更智能)。然而,在多用户环境中,由于数据库流量过大,这些缓存往往会提前释放。在这里您可以帮助制定您自己的缓存策略。

关于php - 如何检查查询返回的结果自上次检查以来是否已更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16904664/

相关文章:

c++ - Q : std::function 在同一个数组中有不同的类型

javascript - PHP - 缓存 JavaScript

php - Drupal 7 : Main menu not displaying child elements

php - 为什么速记 PHP 开头语句不起作用?

c# - 如何使用 session 用户计算购物车

c++ - 如何在 C++ 中编写指令缓存友好的程序?

PHP:最佳配置存储?

mysql - SQL QUERY-在 GROUP BY 中使用时,多个 COUNT 返回错误(相同)的结果

java - 打开 JDBC ResultSets 的数量是否有限制?

database - 提高字符串匹配的性能