A partir do MySQL versão de quatro , ele não é mais necessário escrever código PHP personalizado para armazenar em cache os resultados da consulta MySQL . MySQL contém um cache de consultas interno que fará cachê de resultados para as demonstrações idênticos "Select" , incluindo declarações preparadas . Para usar o cache, edite o arquivo de configuração e ligá-lo. Uma vez ativado , no entanto , você tem a capacidade de substituir se uma consulta é armazenada em cache , passando a palavra -chave para a consulta que você enviar a partir de PHP para MySQL . Reveja as limitações do cache de consultas para se certificar de que você entender como funciona o cache antes de escrever um script PHP com o cache de consultas em mente. MySQL Query Cache
A cache de consultas MySQL capta uma expressão de consulta a partir de uma consulta "SELECT" e todo o conjunto de resultados e coloca-los em um cache temporário no disco ou na memória. Quando um script PHP emite uma consulta idêntica à que foi executado anteriormente e armazenada em cache , os resultados são servidas a partir do cache em vez do banco de dados. Isso pode reduzir significativamente a quantidade de tempo necessário para fornecer os resultados , o que melhora o desempenho do programa PHP.
Limitações
A cache de consultas MySQL só funciona com " , selecione " consultas e só vai cache de consultas completas , não subselects ou vistas inline. A cache de consultas será cache instruções preparadas , mas não irá armazenar em cache as operações de banco de dados . Não inclua comentários no início de consultas em declarações PHP . Se a condição da consulta não começa com a letra " S ", o MySQL irá determinar não é uma consulta "SELECT" e não armazenar em cache os resultados. Por exemplo :
//Não fazer isso $ query = ' /* $ name é membro atual * /SELECIONAR * FROM membros WHERE nome = $ name ' ;//Fazer isso em vez $ query = 'SELECT * FROM membros WHERE nome = $ name /* $ name é membro atual * /'; $ result = mysql_query ( $ query );
query Cache Setup
para configurar o cache de consultas MySQL , edite o arquivo de configuração do MySQL no servidor web, por exemplo "/etc /mysql /my.cnf " em um servidor web Apache, e definir o " query_cache_type " ea " consulta -cache- size " variáveis. Para " query_cache_type ", um valor igual a zero desativa o cache; um vira no cache; " . On demand" e dois conjuntos da cache para ser Escolha um tamanho máximo para o cache de consulta, normalmente entre 20 e 100 megabytes , e adicione as seguintes linhas ao final do arquivo de configuração para ativar o cache de consulta e defina o tamanho de 20 megabytes :
-cache -type query = 1query -cache- size = 20M
Caching " On Demand "
Se você quiser controlar o que os resultados da consulta são armazenados em cache do seu script PHP, definir o "tipo de query- cache" para "2" , e passar a palavra-chave " SQL_CACHE " após a declaração "SELECT" em uma consulta PHP. Por exemplo :
$ query = "SELECT * FROM clientes SQL_CACHE ONDE cust_id =" 0089324 " ; $ result = mysql_query ( $ query );
Se o cache de consultas está ligado e você não deseja armazenar em cache uma consulta particular, passar a palavra-chave " SQL_NO_CACHE " do PHP. Por exemplo :
$ query = "SELECT * FROM clientes SQL_NO_CACHE ONDE cust_id =" 0089324 " ; $ result = mysql_query ( $ query );
< br >