À l'ère Internet d'aujourd'hui, la vitesse de réponse d'un site Web est cruciale pour l'expérience utilisateur. En tant que langue de développement populaire, PHP peut améliorer considérablement les performances d'un site Web à l'aide de la technologie de mise en cache de données. Cet article utilisera des moyens techniques spécifiques pour explorer comment optimiser la vitesse de réponse du site Web grâce à la mise en cache des données, en particulier l'utilisation de solutions Memcached et Redis Cache.
Le cache de données doit stocker des données fréquemment accessibles en mémoire, réduisant ainsi l'accès à la base de données à chaque fois que vous demandez. Les types de cache communs incluent: cache de page, cache de données et cache de requête. La page Cache cache l'intégralité du contenu de la page Web; Le cache de données stocke les résultats de la requête; Le cache de cache de cache de requête cache les résultats d'instructions de requête spécifiques.
Tout d'abord, vous devez installer Memcached. Vous pouvez l'installer dans le système Linux via la commande suivante:
sudo apt-get install memcached
Après l'installation, modifiez le fichier de configuration `/ etc / memcached.conf` et ajustez l'adresse IP, la taille du port et du cache et d'autres paramètres.
PHP fournit des extensions Memcached pour communiquer avec Memcached. Vous pouvez vous connecter au service Memcached via le code suivant:
$ memcached = new memcached (); $ memcached-> addServer ('127.0.0.1', 11211);
Ensuite, vous pouvez utiliser les méthodes `` set () 'et `get ()' pour accéder aux données mises en cache:
// Stockage Les données dans le cache, la période de validité est de 60 secondes $ memcached-> set ('key', 'value', 60); // Obtenez des données de cache $ value = $ memcached-> get ('key');
Pour les requêtes SQL fréquemment exécutées, vous pouvez mettre en cache les résultats de la requête à Memcached pour réduire le nombre de requêtes de base de données. Voici un exemple:
// requête les données $ sql = "select * dans` Users` où `id` =?"; $ stmt = $ pDo-> prépare ($ sql); $ stmt-> exécuter ([$ id]); $ user = $ stmt-> fetch (PDO :: fetch_assoc); // Vérifiez si le cache existe si ($ memcached-> get ('user_'. $ Id)) { // Obtenez des données de Cache $ user = $ memcached-> get ('user_'. $ Id); } autre { // Le cache n'existe pas, interroge la base de données et stockez le cache $ memcached-> set ('user_'. $ Id, $ user, 60); }
Semblable à Memcached, Redis est également un outil de stockage de données de mémoire efficace. Vous pouvez installer Redis avec la commande suivante:
sudo apt-get install redis-server
Une fois l'installation terminée, modifiez le fichier de configuration `/ etc / redis / redis.conf` et définissez l'adresse d'écoute, le port et la taille du cache de redis.
Semblable à Memcached, PHP fournit également une extension Redis qui vous permet de connecter et d'exploiter les services Redis. Voici le code pour se connecter à Redis:
$ redis = new redis (); $ redis-> connect ('127.0.0.1', 6379);
De même, vous pouvez utiliser les méthodes «set ()» et `get ()» pour manipuler le cache:
// Stockage Les données dans le cache, la période de validité est de 60 secondes $ redis-> set ('key', 'value', 60); // Obtenez des données de cache $ value = $ redis-> get ('key');
Redis peut également être utilisé pour mettre en cache les résultats de la requête SQL. Voici un exemple spécifique:
// requête les données $ sql = "select * dans` Users` où `id` =?"; $ stmt = $ pDo-> prépare ($ sql); $ stmt-> exécuter ([$ id]); $ user = $ stmt-> fetch (PDO :: fetch_assoc); // Vérifiez le cache if ($ redis-> get ('user_'. $ Id)) { // Obtenez des données de Cache $ user = json_decode ($ redis-> get ('user_'. $ Id), true); } autre { // Le cache n'existe pas, requête et cache le résultat $ redis-> set ('user_'. $ Id, json_encode ($ user), 60); }
Grâce à la technologie de mise en cache de données, la vitesse de réponse du site Web peut être considérablement améliorée, la pression de la base de données peut être réduite et les performances peuvent être améliorées. Dans le développement réel, vous pouvez choisir des solutions de cache telles que Memcached ou Redis en fonction de vos besoins et les optimiser pour des situations spécifiques pour obtenir les meilleurs résultats.