Maison > développement back-end > tutoriel php > Une explication sur la façon de sauvegarder les données de session dans Memcache

Une explication sur la façon de sauvegarder les données de session dans Memcache

韦小宝
Libérer: 2023-03-21 11:32:02
original
1443 Les gens l'ont consulté

Cet article décrit comment les données de la session sont stockées dans Memcache. De nombreux étudiants ne savent peut-être pas grand-chose sur la façon dont les données de la session sont stockées dans Memcache. Nous allons donc aujourd'hui expliquer en détail comment les données de la session sont stockées. dans memcache. Allez dans memcache !

Enregistrer les données de la session dans memcache

session Les données sont enregistrées dans le fichier file par défaut

mais on peut modifier la configuration de php pour les enregistrer ailleurs

(1), ouvrez D:lampphp/php.ini. session.save_handler = files est activé, commentez-le

Chemin de sauvegarde du contenu de la session, ajoutez la ligne rouge Cette phrase

Je l'ai modifié et testé

Session.php

<?php
session_start();
$_SESSION[&#39;name&#39;]=&#39;whj&#39;;
?>
Copier après la connexion

Get_session.php

<?php
session_start();
$name=$_SESSION[&#39;name&#39;];
echo $name;
?>
Copier après la connexion

SortiewhjCorrect

(2), Mais comment obtenir la variable session n'est plus l'attribut name, mais via session_id pour enregistrer

session_id :Lorsque le navigateur accède au serveur, le serveur attribue au navigateur session_id puis recherchez la valeur correspondante via session_id

Exemple :

session_start();
$_SESSION[&#39;age&#39;]=&#39;whjwhj&#39;;
$sess_id=session_id();
var_dump($sess_id);
//运行出来是string(26) "dmkppdo0qhbkq099fo608an383",在telnet中运行get dmkppdo0qhbkq099fo608an383的出age|s:6:"whjwhj";
Copier après la connexion

Si vous n'avez pas l'autorisation de le modifier< 🎜 Que dois-je faire de la configuration de >php ?

ini_set() Vous pouvez définir certaines configurations de php dans le fichier php

Problème de sécurité : Maintenant, tout le monde peut accéder à mon memcache, d'autres peuvent également accéder à mon telnet 192.168.2.200,

Solution : Pare-feu

La session ci-dessus a été utilisée lorsque le fichier de configuration php.ini a été modifié. Ce qui est fait maintenant est qu'il n'y en a pas. il faut modifier le fichier de configuration et ajouter directement au début du fichier :

ini_set(&#39;session.save_handler&#39;,&#39;memcache&#39;);
ini_set(&#39;session.save_path&#39;,&#39;tcp://127.0.0.1:11211&#39;);告诉它是用session保存到memcache的
Copier après la connexion

Exemple :

Ini_session.php

<?php
ini_set(&#39;session.save_handler&#39;,&#39;memcache&#39;);
ini_set(&#39;session.save_path&#39;,&#39;tcp://127.0.0.1:11211&#39;);
session_start();
class Hot{
         public $name;
         public $color;
         public function __construct($name,$color){
                   $this->name=$name;
                   $this->color=$color;
                   }
         }
 $hot=new Hot(&#39;xiaobei&#39;,&#39;white&#39;);
 $_SESSION[&#39;hot&#39;]=$hot;
?>
Copier après la connexion

Get_ini_session.php

<?php
ini_set(&#39;session.save_handler&#39;,&#39;memcache&#39;);
ini_set(&#39;session.save_path&#39;,&#39;tcp://127.0.0.1:11211&#39;);
session_start();
class Hot{
         public $name;
         public $color;
         public function __construct($name,$color){
                   $this->name=$name;
                   $this->color=$color;
                   }
         }
$hot=$_SESSION[&#39;hot&#39;];
var_dump($hot);
?>
Copier après la connexion

7 , Memcache :

Redémarrer

memcached , le redémarrage du système d'exploitation entraînera la disparition de toutes les données. De plus, une fois que la capacité du contenu atteint la valeur spécifiée, les caches inutilisés seront automatiquement supprimés en fonction de l'algorithme LRU (Least Récemment utilisé) .

Si vous définissez

expire sur 0, cela signifie qu'il n'expirera jamais tant que la machine n'est pas redémarrée ou que le service n'est pas redémarré

Articles connexes : Présentation du contrôle de session php et des cookies

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