MySQL-forespørgselscache gemmer forespørgselsresultater af ofte og nyligt kørte forespørgsler, så de kan returneres hurtigt uden at behandle alt fra bunden. De er meget nyttige til at forbedre forespørgselshastigheden og databaseydeevnen. Her er trinene til at aktivere MySQL-forespørgselscache for din database, indstille MySQL-cachestørrelse og deaktivere forespørgselscache. Bemærk venligst , MySQL-forespørgselscache er blevet forældet i MySQL 5.7 og fjernet i MySQL 8.0.
Sådan aktiverer du MySQL Query Cache
Her er MySQL Query-cache-konfiguration for din database.
1. Tjek tilgængelighed
Log ind på MySQL, og kør følgende kommando for at kontrollere, om MySQL-forespørgselscache er tilgængelig for din database.
mysql> SHOW VARIABLES LIKE 'have_query_cache'; +------------------+-------+ | Variable_name | Value | +------------------+-------+ | have_query_cache | YES | +------------------+-------+
Hvis du får resultatet som JA, betyder det, at din database understøtter forespørgselscache.
Bonus Læs:Sådan aktiverer du MySQL Slow Query Log
2. Standard forespørgselscachevariabler
MySQL-forespørgselscache styres af mange variabler. Kør følgende kommando for at se deres standardværdier først, før du ændrer dem.
mysql> show variables like 'query_cache_%' ;
Du vil se følgende 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 | +------------------------------+----------+
Lad os se på ovenstående forespørgselscachevariabler,
- query_cache_limit – maksimal størrelse på forespørgselsresultater, der kan cachelagres
- query_cache_min_res_result – MySQL gemmer forespørgselsresultater i blokke. Dette er minimumsstørrelsen for hver blok.
- query_cache_size – angiver den samlede mængde hukommelse, der er allokeret til MySQL-cache.
- query_cache_type – indstilling af dette til 0 eller OFF deaktiverer MySQL-forespørgselscache. sætte den til 1 aktiverer forespørgselscache.
- query_cache_wlock_invalidate – bestemmer, om MySQL skal hente resultater fra cachen, hvis den underliggende tabel er låst.
Bonuslæser:Top 5 MySQL-overvågningsværktøjer
3. Aktiver MySQL Query Cache
Log ud af MySQL. Åbn terminal og kør følgende kommando for at åbne MySQL-konfigurationsfilen.
$ sudo vi /etc/mysql/my.cnf
Tilføj følgende linjer under [mysqld]-sektionen
...
[mysqld]
query_cache_type=1
query_cache_size = 10M
query_cache_limit=256K
Vi har aktiveret forespørgselscache ved at indstille variabelen query_cache_type til 1, med individuel forespørgselscache som 256Kb og total cache som 10Mb. Du kan ændre værdierne for query_cache_size og query_cache_limit i henhold til dine krav.
Bonus Læs:Sådan fremskyndes MySQL-forespørgsler
4. Genstart MySQL-database
Genstart MySQL for at anvende ændringer
$ sudo systemctl restart mysql
ELLER
$ sudo service mysql restart
ELLER
$ sudo /etc/init.d/mysql restart
Forhåbentlig vil denne artikel hjælpe dig med MySQL-forespørgselscache-konfiguration.