使用 PDO 和 MySQL 时,缓存我知道将在同一页面上多次使用的结果有什么好处吗?或者 PDO/MySQL 会自动处理这类事情吗?
如果我自己做,我应该存储查询的实际结果,还是可以将 PDOStatements 存储在缓存中并重用它们?
当然,我可以将我知道将在页面上多次使用的任何结果存储在变量中,但让我的数据库类透明地处理此类事情似乎更干净。例如,我希望能够调用 $DB->get_username_by_id($id) 并且不必担心它是直接来自数据库还是来自缓存。
或者也许我会放弃创建自己的数据库类的想法,如果你们中的任何一个人可以向我指出一个超轻量级、易于使用、有效、多功能的数据库类,它可以在共享的 PDO 和 MySQL 上工作主机...
最佳答案
这可以帮助你PHP PDO Caching
如果您使用 PDO,那么 PDO::Prepare 就是您的 friend :
对于将使用不同参数值多次发出的语句调用 PDO::prepare() 和 PDOStatement::execute() 可以通过允许驱动程序协商客户端和/或服务器端缓存来优化应用程序的性能。查询计划和元信息,并且无需手动引用参数,有助于防止 SQL 注入(inject)攻击。
关于php - PDO和缓存,如何在数据库类中实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10194223/