出于缓存目的,我需要检查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/