*** www.php.net/APC

http://it2.php.net/manual/it/function.apc-store.php
http://it2.php.net/manual/it/function.apc-fetch.php
http://it2.php.net/manual/it/function.apc-delete.php
e molte altre ancora

*** http://eaccelerator.net/
http://bart.eaccelerator.net/doc/php...ccelerator_get
http://bart.eaccelerator.net/doc/php...ccelerator_put
http://bart.eaccelerator.net/doc/php...accelerator_rm
http://bart.eaccelerator.net/doc/php...tor_cache_page
e molte altre ancora

*** http://xcache.lighttpd.net/
http://xcache.lighttpd.net/wiki/XcacheApi

tutta la doc sta li

*** http://it.php.net/memcache

mi stuffa postare i link, stanno li

*** http://sharedance.pureftpd.org/project/sharedance

Senza considerare che poi c'è PEAR che contiene un package per far questo tipo di lavori che supporta questi vari sistemi
http://pear.php.net/package/System_SharedMemory/

------

si, lo so, non c'entra molto con mysql, però considera vari fattori, tra cui il primo è che tu hai fatto questa proposta perché parli direttamente di salvare le query e lavorare li su, ma questa necessità non la hai più se esegui un caching parziale delle pagine

Io faccio qualcosa di simile rispetto a xnavigator, ovvero se ho la pagina html composta da N blocchi e output di N moduli salvo SINGOLARMENTE ognuno di questi e costruisco la pagina: questo è necessario perché se ci stanno dei dati variabili, come il numero di utenti connessi, chi fa il compleanno, gli utenti presenti in una sezione e cosi via tante altre situazioni che varia, posso limitarmi ad aggiornare, se ne ha necessità, una sola componente o non cacharla proprio se gli aggiornamenti sono continui e rendono inutile la cache

Questo sistema poggiato a uno delle strutture di sopra (escluso il pear perché il codice me l'ho sono scritto per i fatti miei) è probabilmente più performante anche se singolarmente più lento ... voglio dire che probabilmente l'operazione di caching della pagina HTML è lenta rispetto al salvataggio della query PERO' facendo una cache della singola query devi in ogni caso ricostruire l'intera pagina html con il risultato che anche se il caching è più veloce php deve comunque fare un papocchio di lavoro (poi tutto dipende effettivamente da come il codice è scritto, da come lavora e da che rigiri fa)

Inoltre se non si utilizza l'hash per creare i nomi di queste cache parziali ma si usa, in chiaro, l'url, più i valori in get più i valori in post più altri valori tuoi (o se hai problemi di lunghezza delle chiavi prendi e te le inserisci in una chiave l'elenco e l'hash del file a cui si riferiscono) hai la possibilità che da panello di controllo, quando devi fare un update a un contenuto puoi effettuare una ricerca su questo alberò in base a dei valori che dici tu e cancellare la cache in blocco facendola rigenerare al volo al codice al primo accesso

è un sistema, ovviamente, completamente diverso, però il risultato finale va considerato nell'insieme

nota: a tutti i sistemi elencati di sopra puoi sempre aggiungere delle tabelle di cache su tipo HEAP/MEMORY su mysql

#####
edit
#####

altra cosa che potrebbe interessare
http://mysql-udf-global-user-variabl...user-variables