PDO和缓存,如何在数据库类中实现它?

时间:2012-04-17 15:31:09

标签: php mysql database caching pdo

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

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

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

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

2 个答案:

答案 0 :(得分:2)

这可以帮助您PHP PDO Caching

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

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

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

答案 1 :(得分:0)

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