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

标签 php mysql database caching pdo

使用 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)攻击。

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

关于php - PDO和缓存,如何在数据库类中实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10194223/

相关文章:

php - Joomla JDatabase 查询插入空行

mysql - Magento:根据价格更改类别中的产品位置

mysql - 实际一天每小时获得一个/第一行

mysql - 在 R 中编写冗长的 SQL 查询

android - SQLite 数据库不创建 android

database - Access 能否像 SQL Server 一样生成 CREATE TABLE 脚本代码?

php - 如何从需要 SUDO 的 php 调用 shell 脚本?

php - 如何使用 PHP 获取特定列名称并分配数组?

php - 通过内容类型为 image Yii 的 php 文件显示图像

MySQL 插入循环