Normal SQL sorguları önbelleğe yeterince basittir.
public function query($sql) {
    if( $result = cache::get(sha1($sql)) ) {
    	return $result;
    }
    $result = $this->connection->query($sql);
    cache::set(sha1($sql), $result);
    return $result;
}
Ama sorgu deyimi sonrasına kadar ne olacağını bilmiyorum çünkü sen hazırlanıp sorgular nasıl önbelleğe yok zaten hazırlanır ve daha sonra veri bağlı?
$sth = $dbh->prepare('SELECT * FROM table WHERE id = ?');
...later...
$sth->bindParam(1, $id);
$sth->execute();
İlk olarak, ifadeleri veritabanı kaynak kimlikleri uzun ömürlü ve olamaz çünkü '(bu-> ifadeler [] $ bir dizi gibi) sayfa başına önbelleğe alınır: Ben bu iki parçalı bir cevap olduğunu duygu olsun t dosyaları veya bir şey saklanır.
Ifadeleri idam edilmeden önce ikinci, () biz (PDOStatement::queryString ile kolay) artı params sağlamalarının verilen deyimi oluşturmak için kullanılan sql karma tarafından sonuçlar için memcached / filecache bakın. Sorun deyimi nesne params bulgudur.
Tabii ki, bu sadece bir fikir olduğunu ve muhtemelen daha iyi çözümler vardır.