Explication détaillée de la façon d'implémenter le memcache distribué en PHP pour configurer la synchronisation des sessions du cluster Web

jacklove
Libérer: 2023-04-01 20:52:02
original
1412 Les gens l'ont consulté

Cet article présente principalement la méthode PHP pour implémenter Memcache distribué pour configurer la synchronisation des sessions de cluster Web. Il analyse les compétences opérationnelles et les précautions associées à la configuration et à l'utilisation de PHP pour réaliser la synchronisation des sessions de cluster Web sous forme d'exemples. Les amis dans le besoin peuvent s'y référer. Suivant

L'exemple de cet article décrit comment PHP implémente le memcache distribué pour configurer la synchronisation des sessions du cluster Web.

La session PHP par défaut est le stockage de fichiers :

session.save_handler = files
session.save_path = "/var/lib/php/session"
Copier après la connexion

Lorsque vous utilisez un cluster Web et avez besoin d'une synchronisation de session, stockez la session dans Memcache distribué est un bon moyen d'obtenir une synchronisation partagée

Méthode :

Type 1 :

vi /etc/php.ini
Copier après la connexion

session.save_handler = memcache
session.save_path = "tcp://192.168.20.193:11211,tcp://192.168.20.194:11211"
Copier après la connexion

Type 2 :

dans le fichier php Utilisez le ini_set fonction de configuration, adaptée aux hôtes virtuels qui ne peuvent pas modifier le fichier de configuration

<?php
....
ini_set("session.save_handler", "memcache");
ini_set("session.save_path", "tcp://192.168.20.193:11211,tcp://192.168.20.194:11211");
....
?>
Copier après la connexion

Redémarrer le serveur Web

service httpd restart
Copier après la connexion

Voir phpinfo

Tester login.php en 192.168.20.193

<?php
session_start();
$_SESSION[&#39;login_time&#39;] = time();
$_SESSION[&#39;username&#39;] = &#39;test2&#39;;
$token=session_id();
echo $token;
//memache实现
$mem = new Memcache();
$mem->addServer(&#39;192.168.20.193&#39;,11211);
$mem->addServer(&#39;192.168.20.194&#39;,11211);
/*
//memached实现
$mem = new Memcached();
$servers = array(
 array(&#39;192.168.20.193&#39;, 11211, 33),
 array(&#39;192.168.20.194&#39;, 11211, 67)
);
$mem->addServers($servers);
*/
echo &#39;<hr>&#39;;
print_r($mem->get($token));
?>
<p>
<a href="http://192.168.20.194/user.php?token=<?php echo $token;?>" rel="external nofollow" target="_balnk">跳转到194网站的个人中心</a>
</p>
Copier après la connexion

user.php dans 192.168.20.194

<?php
$mem = new Memcache();
$mem->addServer(&#39;192.168.20.193&#39;,11211);
$mem->addServer(&#39;192.168.20.194&#39;,11211);
$token=$_GET[&#39;token&#39;];//获取传过来的token
print_r($mem->get($token));
?>
<p>
<a href="http://192.168.20.193/user.php?token=<?php echo $token;?>" rel="external nofollow" target="_balnk">返回193网站的个人中心</a>
</p>
Copier après la connexion

Vous pouvez Articles d'intérêt :

Explication de la fonction de découpe et de fusion de fichiers volumineux implémentée par PHP


Exemple d'algorithme de regroupement de mots simple implémenté par PHP


Explication complète d'un exemple de la classe d'opérations de base de données mongoDB implémentée par PHP


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