3

使用 PDO 和 MySQL 时,缓存我知道我将在同一页面上多次使用的结果有什么好处吗?或者 PDO / MySQL 会自动处理这种事情吗?

如果我应该自己做,我应该存储查询的实际结果,还是我可以将 PDOStatements 存储在缓存中并重用它们?

当然,我可以将我知道要在一个页面上多次使用的任何结果存储在一个变量中,但是让我的数据库类透明地处理这类事情似乎更干净。例如,我希望能够调用 $DB->get_username_by_id($id) 而不必担心它是直接来自数据库还是来自缓存。

或者,也许我会放弃创建自己的数据库类的想法,如果你们中的任何人能指出我的超轻量级、易于使用、有效、多功能的,它可以在共享主机上与 PDO 和 MySQL 一起使用。 .

4

2 回答 2

2

这可以帮助你PHP PDO 缓存

如果你使用 PDO,那么 PDO::Prepare 就是你的朋友:

调用 PDO::prepare() 和 PDOStatement::execute() 为将使用不同参数值多次发出的语句通过允许驱动程序协商查询计划的客户端和/或服务器端缓存来优化应用程序的性能和元信息,并通过消除手动引用参数的需要来帮助防止 SQL 注入攻击。

http://php.net/manual/en/pdo.prepare.php

于 2012-04-17T15:37:46.113 回答
0

Well id 总是建议使用现有的库而不是自定义的东西,除非你有一个很好的借口不这样做。在这种情况下,id 说Doctrine DBAL,因为您似乎没有使用对象来保存您的数据。如果您想使用完整的 OOP 路线并将数据映射到特定对象,那么请使用完整的Doctrine ORM

于 2012-04-17T15:37:25.073 回答