Eine Erklärung, wie Sitzungsdaten im Memcache gespeichert werden

韦小宝
Freigeben: 2023-03-21 11:32:02
Original
1438 Leute haben es durchsucht

In diesem Artikel wird beschrieben, wie die Daten in der Sitzung im Memcache gespeichert werden. Viele Schüler wissen möglicherweise nicht viel darüber, wie die Daten in der Sitzung im Memcache gespeichert werden im Memcache. Gehe zum Memcache!

Speichern Sie die Daten der Sitzung im Memcache

Sitzung Die Daten werden standardmäßig in der Datei Datei gespeichert

, aber wir können die Konfiguration von php ändern, um sie an anderer Stelle zu speichern

(1), öffnen Sie D:lampphp/php.ini. session.save_handler = files ist aktiviert, kommentieren Sie es aus

Speicherpfad für Sitzungsinhalte, fügen Sie die rote Linie hinzu Dieser Satz

Ich habe es geändert und getestet

Session.php

<?php
session_start();
$_SESSION[&#39;name&#39;]=&#39;whj&#39;;
?>
Nach dem Login kopieren

Get_session.php

<?php
session_start();
$name=$_SESSION[&#39;name&#39;];
echo $name;
?>
Nach dem Login kopieren

AusgabewhjRichtig

(2), Aber So erhalten Sie die Variable session nicht mehr über das Attribut name, , sondern über session_id zum Speichern von

session_id:Wenn der Browser auf den Server zugreift, weist der Server dem Browser die session_id zu und sucht dann den entsprechenden Wert durch session_id

Beispiel:

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";
Nach dem Login kopieren

Wenn Sie keine Berechtigung zum Ändern haben< 🎜 Was soll ich mit der Konfiguration von >php machen?

ini_set() Sie können einige Konfigurationen von php in der php-Datei festlegen

Sicherheitsproblem: Jetzt kann jeder auf meinen Memcache zugreifen, andere können auch auf mein Telnet 192.168.2.200,

zugreifen Lösung: Firewall

Die obige Sitzung wurde verwendet, als die php.ini-Konfigurationsdatei geändert wurde. Was jetzt getan wird, ist: Es gibt keine Sie müssen die Konfigurationsdatei ändern und direkt am Anfang der Datei hinzufügen:

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的
Nach dem Login kopieren

Beispiel:

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;
?>
Nach dem Login kopieren

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);
?>
Nach dem Login kopieren

7 , Memcache:

Neustart

memcached , ein Neustart des Betriebssystems führt zum Verschwinden aller Daten. Darüber hinaus werden ungenutzte Caches automatisch gelöscht, nachdem die Inhaltskapazität den angegebenen Wert erreicht hat, basierend auf dem LRU (Least Recent Used) -Algorithmus.

Wenn Sie

expire auf 0 setzen, bedeutet dies, dass es nie abläuft, bis die Maschine neu gestartet oder der Dienst neu gestartet wird

Verwandte Artikel: Einführung in PHP-Sitzungssteuerungssitzung und Cookies

Das obige ist der detaillierte Inhalt vonEine Erklärung, wie Sitzungsdaten im Memcache gespeichert werden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage