La cache delle query MySQL memorizza i risultati delle query eseguite di frequente e di recente in modo che possano essere restituiti rapidamente senza elaborare tutto da zero. Sono molto utili per migliorare la velocità delle query e le prestazioni del database. Ecco i passaggi per abilitare la cache delle query MySQL per il tuo database, impostare la dimensione della cache MySQL e disabilitare la cache delle query. Nota , la cache delle query MySQL è stata deprecata in MySQL 5.7 e rimossa in MySQL 8.0.
Come abilitare MySQL Query Cache
Ecco la configurazione della cache di MySQL Query per il tuo database.
1. Verifica disponibilità
Accedi a MySQL ed esegui il comando seguente per verificare se la cache delle query MySQL è disponibile per il tuo database.
mysql> SHOW VARIABLES LIKE 'have_query_cache'; +------------------+-------+ | Variable_name | Value | +------------------+-------+ | have_query_cache | YES | +------------------+-------+
Se ottieni il risultato SÌ, significa che il tuo database supporta la cache delle query.
Bonus Lettura:Come abilitare MySQL Slow Query Log
2. Variabili della cache delle query predefinite
La cache delle query MySQL è controllata da molte variabili. Esegui il comando seguente per visualizzare prima i loro valori predefiniti, prima di modificarli.
mysql> show variables like 'query_cache_%' ;
Vedrai il seguente output
+------------------------------+----------+ | Variable_name | Value | +------------------------------+----------+ | query_cache_limit | 1048576 | | query_cache_min_res_unit | 4096 | | query_cache_size | 16777216 | | query_cache_type | OFF | | query_cache_wlock_invalidate | OFF | +------------------------------+----------+
Diamo un'occhiata alle variabili della cache di query sopra,
- query_cache_limit – dimensione massima dei risultati della query che possono essere memorizzati nella cache
- query_cache_min_res_result – MySQL memorizza i risultati della query in blocchi. Questa è la dimensione minima di ogni blocco.
- query_cache_size – indica la quantità totale di memoria allocata per la cache MySQL.
- query_cache_type – impostandolo su 0 o OFF disabilita la cache delle query MySQL. impostandolo su 1 si abilita la cache delle query.
- query_cache_wlock_invalidate – determina se MySQL deve recuperare i risultati dalla cache se la tabella sottostante è bloccata.
Bonus Leggi:I 5 migliori strumenti di monitoraggio MySQL
3. Abilita la cache delle query MySQL
Esci da MySQL. Apri il terminale ed esegui il comando seguente per aprire il file di configurazione di MySQL.
$ sudo vi /etc/mysql/my.cnf
Aggiungi le seguenti righe sotto la sezione [mysqld]
...
[mysqld]
query_cache_type=1
query_cache_size = 10M
query_cache_limit=256K
Abbiamo abilitato la cache delle query impostando la variabile query_cache_type su 1, con la cache delle query individuale di 256 Kb e la cache totale di 10 Mb. Puoi modificare i valori di query_cache_size e query_cache_limit in base alle tue esigenze.
Bonus Leggi:Come velocizzare le query MySQL
4. Riavvia il database MySQL
Riavvia MySQL per applicare le modifiche
$ sudo systemctl restart mysql
O
$ sudo service mysql restart
O
$ sudo /etc/init.d/mysql restart
Si spera che questo articolo ti aiuti con la configurazione della cache delle query MySQL.