/**
* 作者:初十
* QQ:345610000
*/
class myPDO extends PDO
{
public $cache_Dir = null; //缓存目录
public $cache_expireTime = 7200; //缓存时间,默认两小时
//带缓存的查询
public function cquery($sql)
{
//缓存存放总目录
if ($this->cache_Dir == null || !is_dir($this->cache_Dir)) {
exit ("缓存目录有误!");
} else {
$this->cache_Dir = str_replace("\", "/", $this->cache_Dir);
$FileName = trim($this->cache_Dir, "/") . '/' . urlencode(trim($sql)) . '.sql';
}
//判断生成缓存
if (!file_exists($FileName) || time() - filemtime($FileName) > $this->cache_expireTime) {
if ($tmpRS = parent::query($sql)) {
$data = serialize($tmpRS->fetchAll());
self::createFile($FileName, $data);
} else {
exit ("SQL语法错误
");
}
}
return $this->readCache($FileName);
}
//读缓存文件
private static function readCache($FilePath)
{
if (is_file($FilePath) && $Data = file_get_contents($FilePath)) {
return new cache_PDOStatement(unserialize($Data));
}
return false;
}
//生成文件
public static function createFile($FilePath, $Data = '')
{
if (file_put_contents($FilePath, $Data)) {
return true;
} else {
return false;
}
}
}
//缓存用到Statement类
class cache_PDOStatement
{
private $recordArr = array();
private $cursorId = 0;
private $recordCount = 0;
public function __construct($arr)
{
$this->recordArr = $arr;
$this->recordCount = count($arr);
}
//返回一条记录,指针下移一行
public function fetch()
{
if ($this->cursorId == $this->recordCount) {
return false;
} else if ($this->cursorId == 0) {
$this->cursorId++;
return current($this->recordArr);
} else {
$this->cursorId++;
return next($this->recordArr);
}
}
//返回全部结果
public function fetchAll()
{
return $this->recordArr;
}
//单行单列查询
public function fetchColumn()
{
$tmpArr = current($this->recordArr);
return $tmpArr[0];
}
}
使用方法
$db = new myPDO('mysql: host = localhost;dbname=news','newsadmin','123456');
$db->cache_Dir = "cache"; //设置缓存目录
$db->cache_expireTime = 7200; //设置缓存时间
$rs = $db->cquery("select * from news limit 0,10"); //用缓存查询方法cquery代替query
while ($row = $rs->fetch()) {
echo $row["F_title"] . "
";
}
$rs = null;
$db = null;

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境

禅工作室 13.0.1
功能强大的PHP集成开发环境

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

Dreamweaver CS6
视觉化网页开发工具