如何缓存数据库繁重页面(它引用的几乎12个表),以便我
我已经有一个缓存系统,页面缓存1天,如果超过1天则刷新。但是,这需要1天(或者在脚本中保留的时间间隔)才能使更改受到影响。我能更快完成吗?我的意思是,当这些表中的行/列更新时,它应该自行更新。
对于更新行的时间戳匹配将会再次沉重,因为有12个表(每个页面引用其中的1行),并且它与动态生成它一样好。除了已经编写的代码之外,通过每个可能插入/更新/删除表的操作都非常困难。
答案 0 :(得分:1)
你需要对数据库结构进行非规范化...最不实用的方法是创建一些“缓存”表,其中只有那些正在显示的列...所以你将减少约70%的表和字段..少加入,智能索引...
之后,您需要编写一个cron作业,它将使这些缓存表与实际缓存表同步。 您可以将一些标志字段(例如,is.modified或date_last_modified等...)添加到真实表中,并使用触发器更新这些字段。在那之后,你的cron工作将会显示真实表格的内容,例如。在最后2-3分钟,并将相应地同步这些表...
这是一个非常特定于项目的解决方案,但我在使用此缓存技术的许多项目中取得了成功......