Maison >php教程 >PHP开发 >Configuration du pilote de cache Laravel Memcached et analyse de la méthode d'application

Configuration du pilote de cache Laravel Memcached et analyse de la méthode d'application

高洛峰
高洛峰original
2016-12-28 16:32:391281parcourir

L'exemple de cet article décrit la configuration et la méthode d'application du pilote de cache Laravel Memcached. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

La configuration du cache Memcached peut être configurée et utilisée dans n'importe quel environnement PHP pour améliorer les performances WEB. Pour les sites Web volumineux (avec beaucoup de données et de nombreuses visites), le système de mise en cache est un composant essentiel. Il contribue grandement à réduire la charge de la base de données, à augmenter la vitesse d'accès aux pages et à améliorer les performances du système. En tant que framework PHP entièrement fonctionnel et puissant, Laravel prend naturellement en charge le système de mise en cache. Laravle prend actuellement en charge les pilotes de cache, notamment les fichiers, les tableaux, les bases de données, APC, Memcached et Redis, et fournit une interface d'accès unifiée pour ces pilotes. Les avantages sont évidents : nous pouvons changer de pilote de cache à tout moment en fonction des besoins de l'entreprise, sans avoir à le faire. vous soucier de l'entreprise. Apportez des modifications au code logique.

La configuration du pilote de cache Laravel se trouve dans config/cache.php Le premier élément de configuration par défaut dans le tableau de configuration est utilisé pour spécifier le pilote de cache par défaut :

'default' => env('CACHE_DRIVER', 'file'),

Le cache par défaut. le pilote ici est le cache de fichiers. Le deuxième élément de configuration, stores, est le point culminant et est utilisé pour configurer les six pilotes de cache pris en charge par Laravel :

'stores' => [
  'apc' => [
    'driver' => 'apc',
  ],
  'array' => [
    'driver' => 'array',
  ],
  'database' => [
    'driver' => 'database',
    'table' => 'cache',
    'connection' => null,
  ],
  'file' => [
    'driver' => 'file',
    'path' => storage_path('framework/cache'),
  ],
  'memcached' => [
    'driver' => 'memcached',
    'servers' => [
      [
        'host' => '127.0.0.1',
        'port' => 11211,
        'weight' => 100,
      ],
    ],
  ],
  'redis' => [
    'driver' => 'redis',
    'connection' => 'default',
  ],
],

où apc représente le cache APC. APC est une extension de PHP. mettre en cache et optimiser le middleware PHP Opcode fournit un framework gratuit, open source et robuste. Pour plus de détails, veuillez vous référer à la documentation officielle de PHP : http://php.net/manual/zh/book.apc.php Le cache APC, comme Memcached, est un système de mise en cache basé sur la mémoire avec des performances comparables, mais avec des limitations. est qu'il ne peut être utilisé que La mise en cache sur une seule machine ne prend pas en charge la distribution et l'environnement de production réel n'a souvent pas plus d'un serveur Web, donc relativement parlant, les grands sites Web choisissent d'utiliser davantage Memcached.

Les pilotes de cache Array (array) ne sont souvent utilisés qu'à des fins de tests. L'avantage est qu'ils ne sont pas persistants et ne seront valides que pendant le cycle de vie de l'exécution d'un script PHP.

Les pilotes de mise en cache de fichiers (fichier) ne sont souvent utilisés que pour le développement et les tests locaux, car la mise en cache de fichiers stocke le cache dans les fichiers et lit à partir du disque dur lors de la lecture. Les performances ne sont naturellement pas aussi bonnes que celles basées sur la mémoire. systèmes de mise en cache tels que APC ou Memcached et Redis.

Le pilote de cache de base de données (base de données) stocke les données mises en cache dans la base de données. Avant de l'utiliser, vous devez créer une nouvelle table dans la base de données pour stocker les éléments du cache :

Schema::create('cache', function($table) {
  $table->string('key')->unique();
  $table->text('value');
  $table->integer('expiration');
});
La mise en cache lit à l'origine les données de la base de données et les stocke dans le système de cache. Bien que la mise en cache de la base de données améliore dans une certaine mesure les performances du système, ce n'est naturellement pas le meilleur choix pour les grands systèmes.

Le pilote de cache memcached est basé sur Memcached. Vous devez installer Memcached dans le système avant de l'utiliser. Bien sûr, si vous utilisez la machine virtuelle Homestead, il a été installé pour vous et démarrera automatiquement lorsque. démarrage. Nous pouvons utiliser la commande suivante : Vérifiez son état et son port de démarrage :

ps -ef | grep memcached
Comme nous l'avons mentionné précédemment, Memcached est un système de cache distribué basé sur la mémoire qui est largement utilisé dans les environnements de production réels.

Redis est un système de mise en cache qui n'est apparu que ces dernières années. Par rapport aux paires clé-valeur de Memcached, il prend en charge davantage de structures de données, notamment des chaînes, des hachages, des listes, des ensembles et des ensembles ordonnés, etc. , également connu sous le nom de serveur de structure de données, Redis est également basé sur la mémoire, mais peut être conservé sur le disque dur. En plus d'être un système de mise en cache, il peut également être utilisé comme base de données NoSQL, file d'attente de messages, etc. Dans l’ensemble, c’est très puissant. Nous parlerons de Redis séparément plus tard, donc pour les instances de mise en cache, nous prendrons comme exemple Memcached comme pilote de cache et parlerons systématiquement de la façon d'utiliser la mise en cache dans Laravel.

À partir du fichier de configuration, le pilote dans l'élément de configuration memcached spécifie le type de pilote de cache utilisé comme memcached. serveurs représente le serveur sur lequel Memcached est installé, hôte représente le nom d'hôte, port représente le numéro de port sur lequel Memcached écoute, la valeur par défaut est 11211 et poids représente le poids, car nous configurons souvent plusieurs serveurs Memcached et le poids représente le priorité d'accès.

À titre de test, nous utiliserons ici la configuration par défaut.

Avant de commencer, nous devons changer le pilote de cache par défaut en memcached :

'default' => env('CACHE_DRIVER', 'memcached'),
De plus, il y a le dernier préfixe d'élément de configuration dans le fichier de configuration config/cache.php, qui est utilisé pour configurer la clé de cache. Pour les systèmes de mise en cache basés sur la mémoire, les éléments de cache peuvent être utilisés par plusieurs applications sur le même hôte, il est donc nécessaire d'ajouter un préfixe pour montrer la distinction. Ici, nous utilisons laravelacademy comme préfixe :

'prefix' => 'laravelacademy',
J'espère que cet article sera utile à la programmation PHP de chacun basée sur le framework Laravel.

Pour plus d'articles liés à la configuration du pilote de cache Laravel Memcached et à l'analyse des méthodes d'application, veuillez faire attention au site Web PHP chinois !

Déclaration:
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