将Session写入Memcache,sessionmemcache_PHP教程
将Session写入Memcache,sessionmemcache
通过session_set_save_handler()方法自定义Session写入Memcache
<span> 1</span> <?<span>php </span><span> 2</span> <span>class</span><span> MemSession{ </span><span> 3</span> <span>private</span> <span>static</span> <span>$handler</span> = <span>null</span><span>; </span><span> 4</span> <span>private</span> <span>static</span> <span>$lifetime</span> = <span>null</span><span>; </span><span> 5</span> <span>private</span> <span>static</span> <span>$time</span> = <span>null</span><span>; </span><span> 6</span> <span>const</span> MS = 'session'<span>; </span><span> 7</span> <span> 8</span> <span>private</span> <span>static</span> <span>function</span> init(<span>$handler</span><span>){ </span><span> 9</span> self::<span>$handler</span> = <span>$handler</span><span>; </span><span>10</span> self::<span>$lifetime</span> = <span>ini_get</span>('session.gc_maxlifetime'<span>); </span><span>11</span> self::<span>$time</span> = <span>time</span><span>(); </span><span>12</span> <span> } </span><span>13</span> <span>14</span> <span>public</span> <span>static</span> <span>function</span> start(<span>$memcache</span><span>){ </span><span>15</span> self::init(<span>$memcache</span><span>); </span><span>16</span> <span>//</span><span>调用类中的方法要用数组,__CLASS__代表本类</span> <span>17</span> <span>session_set_save_handler</span><span>( </span><span>18</span> <span>array</span>(<span>__CLASS__</span>,'open'), <span>19</span> <span>array</span>(<span>__CLASS__</span>,'close'), <span>20</span> <span>array</span>(<span>__CLASS__</span>,'read'), <span>21</span> <span>array</span>(<span>__CLASS__</span>,'write'), <span>22</span> <span>array</span>(<span>__CLASS__</span>,'destroy'), <span>23</span> <span>array</span>(<span>__CLASS__</span>,'gc'<span>) </span><span>24</span> <span> ); </span><span>25</span> <span>session_start</span><span>(); </span><span>26</span> <span> } </span><span>27</span> <span>28</span> <span>public</span> <span>static</span> <span>function</span> open(<span>$path</span>,<span>$name</span><span>){ </span><span>29</span> <span>30</span> <span> } </span><span>31</span> <span>public</span> <span>static</span> <span>function</span><span> close(){ </span><span>32</span> <span>33</span> <span> } </span><span>34</span> <span>35</span> <span>public</span> <span>static</span> <span>function</span> read(<span>$PHPSESSID</span><span>){ </span><span>36</span> <span>$val</span> = self::<span>$handler</span>->get(self::session_key(<span>$PHPSESSID</span><span>)); </span><span>37</span> <span>38</span> <span>if</span>(<span>$val</span>===<span>false</span> || <span>$val</span>==<span>null</span><span>){ </span><span>39</span> <span>return</span> <span>false</span><span>; </span><span>40</span> <span> } </span><span>41</span> <span>return</span> <span>$val</span><span>; </span><span>42</span> <span> } </span><span>43</span> <span>public</span> <span>static</span> <span>function</span> write(<span>$PHPSESSID</span>,<span>$data</span><span>){ </span><span>44</span> <span>$method</span> = <span>$data</span>? 'set':'replace'<span>; </span><span>45</span> <span>return</span> self::<span>$handler</span>-><span>$method</span>(self::session_key(<span>$PHPSESSID</span>),<span>$data</span>,MEMCACHE_COMPRESSED,self::<span>$lifetime</span><span>); </span><span>46</span> <span> } </span><span>47</span> <span>48</span> <span>public</span> <span>static</span> <span>function</span> destroy(<span>$PHPSESSID</span><span>){ </span><span>49</span> <span>return</span> self::<span>$handle</span>->delete(self::session_key(<span>$PHPSESSID</span><span>)); </span><span>50</span> <span> } </span><span>51</span> <span>//</span><span>memcache本身就有限定时间,数据自动销毁,所以可不使用gc方法</span> <span>52</span> <span>public</span> <span>static</span> <span>function</span> gc(<span>$lifetime</span><span>){ </span><span>53</span> <span>return</span> <span>true</span><span>; </span><span>54</span> <span> } </span><span>55</span> <span>56</span> <span>//</span><span>给sessionID加前缀,避免key重复</span> <span>57</span> <span>private</span> <span>static</span> <span>function</span> session_key(<span>$PHPSESSID</span><span>){ </span><span>58</span> <span>$session_key</span> = self::MS.<span>$PHPSESSID</span><span>; </span><span>59</span> <span>return</span> <span>$session_key</span><span>; </span><span>60</span> <span> } </span><span>61</span> <span> } </span><span>62</span> <span>$mem</span> = <span>new</span><span> Memcache; </span><span>63</span> <span>$mem</span>->connect("localhost",11211) or <span>die</span>("could not connect"<span>); </span><span>64</span> MemSession::start(<span>$mem</span>);

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Ein Sitzungsfehler wird normalerweise durch den Ablauf der Sitzungslebensdauer oder das Herunterfahren des Servers verursacht. Die Lösungen: 1. Verlängern Sie die Lebensdauer der Sitzung. 3. Verwenden Sie Cookies. 4. Aktualisieren Sie die Sitzung.

Lösung des domänenübergreifenden Problems von PHPSession Bei der Entwicklung der Front-End- und Back-End-Trennung sind domänenübergreifende Anforderungen zur Norm geworden. Wenn es um domänenübergreifende Probleme geht, nutzen wir in der Regel Sitzungen und verwalten diese. Aufgrund von Richtlinieneinschränkungen für den Browserursprung können Sitzungen jedoch standardmäßig nicht über Domänen hinweg gemeinsam genutzt werden. Um dieses Problem zu lösen, müssen wir einige Techniken und Methoden verwenden, um eine domänenübergreifende gemeinsame Nutzung von Sitzungen zu erreichen. 1. Die häufigste Verwendung von Cookies zum domänenübergreifenden Teilen von Sitzungen

Tipps zum Lösen chinesischer verstümmelter Zeichen, die von PHP in TXT-Dateien geschrieben wurden. Mit der rasanten Entwicklung des Internets wird PHP als weit verbreitete Programmiersprache von immer mehr Entwicklern verwendet. Bei der PHP-Entwicklung ist es häufig erforderlich, Textdateien zu lesen und zu schreiben, einschließlich TXT-Dateien, die chinesische Inhalte schreiben. Aufgrund von Problemen mit dem Codierungsformat erscheint die chinesische Schrift jedoch manchmal verstümmelt. In diesem Artikel werden einige Techniken zur Lösung des Problems chinesischer verstümmelter Zeichen, die von PHP in TXT-Dateien geschrieben werden, vorgestellt und spezifische Codebeispiele bereitgestellt. Problemanalyse in PHP, Text

Bei der Webentwicklung müssen wir häufig Caching-Technologie verwenden, um die Leistung und Reaktionsgeschwindigkeit der Website zu verbessern. Memcache ist eine beliebte Caching-Technologie, die jeden Datentyp zwischenspeichern kann und hohe Parallelität und hohe Verfügbarkeit unterstützt. In diesem Artikel wird die Verwendung von Memcache in der PHP-Entwicklung vorgestellt und spezifische Codebeispiele bereitgestellt. 1. Memcache installieren Um Memcache verwenden zu können, müssen wir zunächst die Memcache-Erweiterung auf dem Server installieren. Im CentOS-Betriebssystem können Sie den folgenden Befehl verwenden

Beispiel für die Verwendung von OpenCSV zum Lesen und Schreiben von CSV-Dateien in Java. CSV (Comma-SeparatedValues) bezieht sich auf durch Kommas getrennte Werte und ist ein gängiges Datenspeicherformat. In Java ist OpenCSV eine häufig verwendete Toolbibliothek zum Lesen und Schreiben von CSV-Dateien. In diesem Artikel wird erläutert, wie Sie mit OpenCSV Beispiele für das Lesen und Schreiben von CSV-Dateien implementieren. Einführung in die OpenCSV-Bibliothek Zunächst müssen Sie die OpenCSV-Bibliothek vorstellen

JavaScript-Cookies Die Verwendung von JavaScript-Cookies ist die effektivste Möglichkeit, Präferenzen, Käufe, Provisionen und andere Informationen zu speichern und zu verfolgen. Informationen, die für ein besseres Besuchererlebnis oder Website-Statistiken benötigt werden. PHPCookieCookies sind Textdateien, die auf Client-Computern gespeichert und zu Nachverfolgungszwecken aufbewahrt werden. PHP unterstützt transparent HTTP-Cookies. Wie funktionieren JavaScript-Cookies? Ihr Server sendet einige Daten in Form eines Cookies an den Browser Ihres Besuchers. Browser können Cookies akzeptieren. Falls vorhanden, wird es als reiner Textdatensatz auf der Festplatte des Besuchers gespeichert. Wenn ein Besucher nun eine andere Seite der Website erreicht

Erste Schritte mit der PHP-Dateiverarbeitung: Schritt-für-Schritt-Anleitung zum Lesen und Schreiben In der Webentwicklung ist die Dateiverarbeitung eine häufige Aufgabe, unabhängig davon, ob es sich um das Lesen von von Benutzern hochgeladenen Dateien oder das Schreiben der Ergebnisse in Dateien zur späteren Verwendung handelt Die Verarbeitung von PHP-Dokumenten ist sehr wichtig. Dieser Artikel bietet eine einfache Anleitung zur Einführung in die grundlegenden Schritte zum Lesen und Schreiben von Dateien in PHP und fügt Codebeispiele als Referenz bei. Beim Lesen von Dateien in PHP können Sie die Funktion fopen() verwenden, um eine Datei zu öffnen und eine Dateiressource (file

So realisieren Sie das Batch-Lesen und Schreiben von ModbusTCP über PHP 1. Einführung in ModbusTCP ModbusTCP ist ein industrielles Kommunikationsprotokoll, das auf dem TCP/IP-Protokoll basiert und häufig für die Gerätekommunikation im Bereich der industriellen Steuerung verwendet wird. Durch die Verwendung des ModbusTCP-Protokolls können Datenlese- und -schreibvorgänge zwischen Geräten durchgeführt werden. In diesem Artikel wird die Verwendung der PHP-Sprache zum Implementieren des Stapellesens und -schreibens von ModbusTCP vorgestellt und entsprechende Codebeispiele angehängt. 2. Umgebungsvorbereitung zu Beginn der Kompilierung
