Memcache est un système de cache d'objet à mémoire de mémoire distribué à haut débit qui peut stocker des données couramment utilisées en mémoire, améliorant ainsi considérablement l'efficacité de lecture des données système. Pour les développeurs PHP, l'utilisation de Memcache pour la mise en cache et la mise à jour des données est une méthode très efficace d'optimisation des performances. Cet article vous montrera comment implémenter un cache et des mises à jour efficaces Memcache dans le développement de PHP.
Pour utiliser Memcache dans PHP, vous devez d'abord installer et configurer l'extension memcache. Cet article utilise le système CENTOS comme exemple pour démontrer le processus d'installation de Memcache:
sudo yum install memcached
sudo yum install php-pecl-memcache
Une fois l'installation terminée, Memcache doit être configurée. Ouvrez le fichier / etc / sysconfig / memcached et modifiez le contenu suivant:
OPTIONS="-l 127.0.0.1 -p 11211"
Après cette configuration, Memcache sera liée à l'adresse IP locale et écoutera le port 11211. Après l'enregistrement de la configuration, démarrez le service Memcache:
sudo service memcached start
La connexion au service Memcache est très simple. Vous pouvez vous connecter via la classe Memcache:
$memcache = new Memcache();
$memcache->connect('127.0.0.1', 11211);
Une fois la connexion réussie, vous pouvez utiliser les méthodes fournies par Memcache pour mettre en cache et mettre à jour les données.
Utilisez la méthode GET pour obtenir des données de Memcache. Si les données n'existent pas, retournez False:
$data = $memcache->get($key);
if ($data !== false) {
// Les données existent,Effectuer l'opération correspondante
}
Utilisez la méthode de suppression pour supprimer les données de Memcache. Si les données n'existent pas, retournez False:
$deleted = $memcache->delete($key);
if (!$deleted) {
// Les données n'existent pas,Effectuer l'opération correspondante
}
Utilisez la méthode de remplacement pour remplacer les données dans Memcache. Si les données n'existent pas, retournez False:
$replaced = $memcache->replace($key, $newData);
if (!$replaced) {
// Les données n'existent pas,Effectuer l'opération correspondante
}
Utilisez la méthode ADD pour ajouter de nouvelles données à Memcache. Si les données existent déjà, retournez False:
$added = $memcache->add($key, $data);
if (!$added) {
// Les données existent déjà,Effectuer l'opération correspondante
}
Utilisez la méthode de décrémentation pour réduire la valeur des données dans Memcache. Si les données n'existent pas, retournez False:
$value = $memcache->decrement($key, $amount);
if ($value === false) {
// Les données n'existent pas,Effectuer l'opération correspondante
}
Utilisez la méthode d'incrément pour augmenter la valeur des données dans Memcache. Si les données n'existent pas, retournez False:
$value = $memcache->increment($key, $amount);
if ($value === false) {
// Les données n'existent pas,Effectuer l'opération correspondante
}
Voici un exemple simple montrant comment mettre en cache les résultats de la base de données définis dans Memcache et lire les données du cache. Si les données n'existent pas dans le cache, obtenez-la à partir de la base de données:
// Connectez-vous à la base de données
$db = new mysqli('localhost', 'user', 'password', 'database');
$result = $db->query('SELECT * FROM my_table');
// Résultats de la base de données de cache,Le temps de cache est1Heure
$key = 'my_table_result';
$memcache->set($key, $result, MEMCACHE_COMPRESSED, 3600);
// depuisMemcacheObtenir des données
$cachedResult = $memcache->get($key);
if ($cachedResult === false) {
// Les données n'existent pas,depuis数据库中获取
$cachedResult = $db->query('SELECT * FROM my_table');
}
// Traitement des données
while ($row = $cachedResult->fetch_assoc()) {
// Traiter chaque rangée de données
}
Grâce aux méthodes décrites dans cet article, vous pouvez utiliser efficacement Memcache pour la mise en cache de données et la mise à jour dans les projets PHP. Memcache peut efficacement améliorer les performances du système, en particulier dans les scénarios avec une concurrence élevée et un accès fréquent. Selon les besoins de votre entreprise, les stratégies de mise en cache peuvent être ajustées pour optimiser les performances.