【发布时间】:2012-05-09 00:10:31
【问题描述】:
我想在页面上创建一个类似1,299,282 images viewed 的数字。数字 1,299,282 将从数据库表中获取,作为自动递增列 id 中的最大数字,使用 select max(id) from listings
此数字不需要在不重新加载页面的情况下更新 AJAX 样式,但如果最大 id 确实变大了,理想情况下会在页面重新加载时更改。
有没有办法缓存这个,因为这个数字每 10 分钟才会改变一次。或者缓存这个工作量太大?
【问题讨论】:
-
是否应该缓存它取决于页面加载次数和更新次数之间的比率(以及每个更新的相对成本)。
-
a select max(id) 不会有太多开销。但是将数字写出文件或其他缓存机制可能会花费与保存任何东西一样多的成本。你只缓存具有高生成成本和低检索成本的东西。单个数字通常不是一个好的候选者,尤其是当它是一个微不足道的检索操作时
-
我认为更新数据库的代码应该注意更新这个数字或缓存它!所以当某些页面加载时,它不必访问数据库,只需检查缓存的值。
-
+1 Marc,这是一个很好的观点。
-
Melsi,系统的紧密耦合通常是一件坏事。假设您需要换出数据库或缓存后端。您不希望这些单独的事物耦合在一起。
标签: php javascript jquery mysql codeigniter