Maison > développement back-end > tutoriel php > Comment utiliser Memcached pour mettre en cache les données dans le développement PHP

Comment utiliser Memcached pour mettre en cache les données dans le développement PHP

王林
Libérer: 2023-06-27 11:20:01
original
730 Les gens l'ont consulté

Avec le développement continu des applications Internet, le stockage et l'accès aux données sont devenus un maillon très important dans le développement d'applications. Souvent, nous devons mettre en cache les données dans les applications pour améliorer les performances des applications, la vitesse de réponse et l’expérience utilisateur. Cet article explique comment utiliser Memcached pour mettre en cache les données dans le développement PHP afin d'améliorer les performances des applications.

Memcached est un système de mise en cache de mémoire distribuée hautes performances. Il met en cache les données en mémoire afin qu'elles puissent être lues et écrites rapidement. Dans le développement PHP, nous utilisons souvent Memcached pour mettre en cache les résultats des calculs, les résultats des requêtes de base de données et d'autres données afin d'améliorer la vitesse de réponse et les performances des applications.

Installer et configurer Memcached

Avant de commencer à utiliser Memcached pour mettre en cache les données, nous devons d'abord installer et configurer Memcached. Sur les systèmes Linux, nous pouvons utiliser la commande suivante pour installer Memcached :

sudo apt-get update
sudo apt-get install memcached
Copier après la connexion

Une fois l'installation terminée, nous devons également installer l'extension PHP de Memcached. Dans le système Ubuntu, nous pouvons utiliser la commande suivante pour installer l'extension PHP Memcached :

sudo apt-get install php-memcached
Copier après la connexion

Une fois l'installation terminée, ajoutez la configuration suivante dans le fichier de configuration php.ini :

extension=memcached.so
Copier après la connexion
# 🎜🎜#Puis redémarrez le service Apache ou le service PHP-FPM pour que la configuration prenne effet.

Utiliser Memcached pour mettre en cache les données

Utiliser Memcached pour mettre en cache les données est très simple. Il suffit d'utiliser les fonctions fournies par l'extension Memcached pour fonctionner. Voici un exemple d'utilisation de Memcached pour mettre en cache des données :

<?php

// 连接到 Memcached 服务器
$memcached = new Memcached();
$memcached->addServer('localhost', 11211);

// 将数据缓存到 Memcached 中
$memcached->set('key', 'value', 10); // 缓存 10 秒

// 从 Memcached 中读取数据
$value = $memcached->get('key');
if ($value === false) {
    // 缓存不存在,从数据库中查询数据
    $value = 'data from database';
    
    // 将从数据库中查询的数据缓存到 Memcached 中
    $memcached->set('key', $value, 10);
}

echo $value;
Copier après la connexion

Dans l'exemple ci-dessus, nous avons d'abord créé une instance Memcached et ajouté un serveur Memcached. Ensuite, nous stockons les données dans Memcached sous forme de clé-valeur et fixons le délai d'expiration des données à 10 secondes. Lorsque nous avons besoin d'accéder à ces données, nous interrogeons d'abord les données de Memcached. Si les données n'existent pas, nous interrogeons les données de la base de données et mettons en cache les résultats de la requête dans Memcached.

Utilisation avancée de Memcached

En développement réel, nous pouvons également utiliser certaines fonctionnalités avancées de Memcached pour optimiser les performances de nos applications. Voici quelques utilisations avancées courantes :

    Configurer plusieurs serveurs : les données peuvent être distribuées entre plusieurs serveurs Memcached pour améliorer la tolérance aux pannes et les performances des applications.
  • Sérialisation et désérialisation personnalisées : les méthodes de sérialisation et de désérialisation des données peuvent être personnalisées pour s'adapter à différents types et structures de données.
  • Opération par lots : vous pouvez lire et écrire plusieurs éléments de données par lots pour améliorer les performances de lecture et d'écriture des données.
  • Basculement automatique : vous pouvez définir une stratégie de basculement automatique pour basculer automatiquement vers un autre serveur lorsqu'un serveur tombe en panne.
  • <?php
    
    // 连接到多个 Memcached 服务器
    $memcached = new Memcached();
    $memcached->addServers([
        ['host1', 11211],
        ['host2', 11211]
    ]);
    
    // 自定义序列化和反序列化方法
    $memcached->setOption(Memcached::OPT_SERIALIZER, Memcached::SERIALIZER_IGBINARY);
    $memcached->setOption(Memcached::OPT_SERIALIZER, Memcached::SERIALIZER_JSON);
    
    // 批量操作
    $values = [
        'key1' => 'value1',
        'key2' => 'value2',
        'key3' => 'value3'
    ];
    $memcached->setMulti($values);
    
    // 自动失败转移
    $memcached->setOption(Memcached::OPT_CONNECT_TIMEOUT, 100);
    $memcached->setOption(Memcached::OPT_DISTRIBUTION, Memcached::DISTRIBUTION_CONSISTENT);
    $memcached->setOption(Memcached::OPT_SERVER_FAILURE_LIMIT, 5);
    $memcached->setOption(Memcached::OPT_RETRY_TIMEOUT, 2);
    Copier après la connexion
    Summary

    L'utilisation de Memcached pour mettre en cache les données peut grandement améliorer les performances et la vitesse de réponse de votre application. Dans le développement PHP, nous pouvons utiliser l'extension PHP Memcached pour implémenter la mise en cache des données. Dans le processus d'utilisation de Memcached, nous pouvons également utiliser certaines fonctionnalités avancées pour optimiser davantage les performances de nos applications.

    Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal