Inhaltsverzeichnis
php之session最优将信息写入memcache中管理
Heim Backend-Entwicklung PHP-Tutorial php之session最优将信息写入memcache中管理_PHP教程

php之session最优将信息写入memcache中管理_PHP教程

Jul 13, 2016 am 10:01 AM
信息

php之session最优将信息写入memcache中管理

前面也讲到了用memcache存储数据信息缓存的方法和好处,这样能够减少访问数据库的次数,减少访问量大时对数据库的压力

将session存储到memcache中管理需要了解memcache、session的使用和session_set_save_handler()

同样先编写一个公用的类,当然采用静态的成员方法

memcache 指令用telnet操作

\

 

同样现在根目录下建立需要用到的文件

\

其中memsession.class.php 是公用的memcache存储类文件,one.php、two.php和three.php是测试文件,items.php 是输出数据数组的

session.class.php中:

首先定义连接memcache用到的变量并初始化

 

<!--?php

    class MemSession{

    	private static $handler=null;
    	private static $lifetime=null;
    	private static $time=null;
    	const NS=&#39;session_&#39;;  //定义下标
     ...
    	&#160;...
}

&#160; &#160; $memcache=new Memcache;
&#160; &#160; //连接memcache
&#160; &#160; $memcache--->connect("localhost",11211) or die("could not connect");
    MemSession::start($memcache);
Nach dem Login kopieren


注意的是 NS 为常量,定义下标

再初始化方法

    	//初始化方法
    	private static function init($handler){
    		self::$handler=$handler;
    		self::$lifetime=ini_get(&#39;session.gc_maxlifetime&#39;);
    		self::$time=time();
    	}
Nach dem Login kopieren


开启session,并定义调用本类中的open、close等方法

    	//开启session
    	public static function start(Memcache $memcache){
    		//首先将属性初始化
    		self::init($memcache);  //调用handler,以后调用handler时都是用memcache
    		session_set_save_handler(
    			array(__CLASS__,&#39;open&#39;),//调用本类的open方法
    			array(__CLASS__,&#39;close&#39;),
    			array(__CLASS__,&#39;read&#39;),
    			array(__CLASS__,&#39;write&#39;),
    			array(__CLASS__,&#39;destroy&#39;),
    			array(__CLASS__,&#39;gc&#39;)
    			);

    		//调用session_start()
    		session_start();
    	}
Nach dem Login kopieren

接下来就是定义上面调用的这些方法

open() 和 close() 只要返回真就可以,但 open() 的参数为 路径(path) 和 名称(name)

    	public static function open($path, $name){
    		return true;
    	}
    	public static function close(){
    		return true;
    	}
Nach dem Login kopieren

read() 只需要有PHPSESSID参数即可

但要判断传入的out 参数是否有值,有值就返回out的数据

    	public static function read($PHPSESSID){
    		$out=self::$handler->get(self::session_key($PHPSESSID));  //得到该下标输出的数据
    		if($out===false || $out ==null){
    			return &#39;&#39;;  //out得到数据没有,返回空
    		}
    		return $out;  //返回得到的数据
    	}
Nach dem Login kopieren

write() :

返回自身的id,数据,和生命时长

    	public static function write($PHPSESSID, $data){
    		//判断是否有数据
    		$method=$data ? &#39;set&#39; : &#39;relpace&#39;;
    		return self::$handler->$method(self::session_key($PHPSESSID), $data, MEMCACHE_COMPRESSED, self::$lifetime);

    	}
Nach dem Login kopieren

destroy() 和 gc() :

destroy()调用自身的delete方法

    	public static function destroy($PHPSESSID){
    		return self::$handler->delete(self::session_key($PHPSESSID));  //调用delete方法

    	}
    	public static function gc($lifetime){
    			return true;
    	}
Nach dem Login kopieren

接下来需要定义一个传入PHPSESSID的方法

    	private static function session_key($PHPSESSID){
    		$session_key=self::NS.$PHPSESSID; //键值为自身和传进来的phpsessid

    		return $session_key;
    	}
Nach dem Login kopieren

 

 

 

结果显示

如果成功,在telnet中显示

\

 

\

 

表示session数据信息储存到memcache成功

 


 

 

 

 

 

 

 

 

 

 

 

 

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/971083.htmlTechArticlephp之session最优将信息写入memcache中管理 前面也讲到了用memcache存储数据信息缓存的方法和好处,这样能够减少访问数据库的次数,减少访问...
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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So entfernen Sie Informationen zum Autor und zur letzten Änderung in Microsoft Word So entfernen Sie Informationen zum Autor und zur letzten Änderung in Microsoft Word Apr 15, 2023 am 11:43 AM

Microsoft Word-Dokumente enthalten beim Speichern einige Metadaten. Diese Details werden zur Identifizierung des Dokuments verwendet, z. B. wann es erstellt wurde, wer der Autor war, Datum der Änderung usw. Es enthält auch andere Informationen wie die Anzahl der Zeichen, die Anzahl der Wörter, die Anzahl der Absätze und mehr. Wenn Sie den Autor oder die zuletzt geänderten Informationen oder andere Informationen entfernen möchten, damit andere Personen die Werte nicht kennen, gibt es eine Möglichkeit. In diesem Artikel erfahren Sie, wie Sie Informationen zum Autor und zur letzten Änderung aus einem Dokument entfernen. Entfernen Sie den Autor und die zuletzt geänderten Informationen aus dem Microsoft Word-Dokument. Schritt 1 – Gehen Sie zu

So erhalten Sie die GPU in Windows 11 und überprüfen die Grafikkartendetails So erhalten Sie die GPU in Windows 11 und überprüfen die Grafikkartendetails Nov 07, 2023 am 11:21 AM

Systeminformationen verwenden Klicken Sie auf Start und geben Sie Systeminformationen ein. Klicken Sie einfach auf das Programm, wie im Bild unten gezeigt. Hier finden Sie die meisten Systeminformationen und unter anderem Informationen zur Grafikkarte. Erweitern Sie im Systeminformationsprogramm Komponenten und klicken Sie dann auf Anzeigen. Lassen Sie das Programm alle notwendigen Informationen sammeln und sobald es fertig ist, können Sie den grafikkartenspezifischen Namen und andere Informationen auf Ihrem System finden. Auch wenn Sie über mehrere Grafikkarten verfügen, finden Sie hier die meisten Inhalte zu dedizierten und integrierten Grafikkarten, die an Ihren Computer angeschlossen sind. Verwenden des Geräte-Managers von Windows 11 Wie bei den meisten anderen Windows-Versionen können Sie auch die Grafikkarte auf Ihrem Computer über den Geräte-Manager finden. Klicken Sie auf Start und dann

Der Single-View-NeRF-Algorithmus S^3-NeRF verwendet Multi-Beleuchtungsinformationen, um Szenengeometrie und Materialinformationen wiederherzustellen. Der Single-View-NeRF-Algorithmus S^3-NeRF verwendet Multi-Beleuchtungsinformationen, um Szenengeometrie und Materialinformationen wiederherzustellen. Apr 13, 2023 am 10:58 AM

Aktuelle 3D-Bildrekonstruktionsarbeiten verwenden normalerweise eine Multi-View-Stereo-Rekonstruktionsmethode (Multi-View-Stereo), die die Zielszene aus mehreren Blickwinkeln (Multi-View) unter konstanten natürlichen Lichtbedingungen erfasst. Diese Methoden gehen jedoch normalerweise von Lambertschen Oberflächen aus und haben Schwierigkeiten, hochfrequente Details wiederherzustellen. Ein weiterer Ansatz zur Szenenrekonstruktion besteht darin, Bilder zu verwenden, die von einem festen Standpunkt, aber mit unterschiedlichen Punktlichtern aufgenommen wurden. Photometrische Stereomethoden nutzen beispielsweise diesen Aufbau und nutzen seine Schattierungsinformationen, um die Oberflächendetails von Nicht-Lambertschen Objekten zu rekonstruieren. Bestehende Einzelansichtsmethoden verwenden jedoch normalerweise Normalkarten oder Tiefenkarten, um das Sichtbare darzustellen

So teilen Sie Kontaktdaten mit NameDrop: Anleitung für iOS 17 So teilen Sie Kontaktdaten mit NameDrop: Anleitung für iOS 17 Sep 16, 2023 pm 06:09 PM

In iOS 17 gibt es eine neue AirDrop-Funktion, mit der Sie Kontaktinformationen mit jemandem austauschen können, indem Sie zwei iPhones berühren. Es heißt NameDrop und so funktioniert es. Anstatt die Nummer einer neuen Person einzugeben, um sie anzurufen oder ihr eine SMS zu schicken, können Sie mit NameDrop Ihr ​​iPhone einfach in die Nähe der Person halten, um Kontaktdaten auszutauschen, damit sie Ihre Nummer hat. Wenn Sie die beiden Geräte zusammenfügen, wird automatisch die Schnittstelle zum Teilen von Kontakten angezeigt. Wenn Sie auf das Popup klicken, werden die Kontaktinformationen einer Person und ihr Kontaktposter angezeigt (Sie können Ihre eigenen Fotos anpassen und bearbeiten, ebenfalls eine neue Funktion von iOS17). Dieser Bildschirm enthält auch Optionen zum „Nur Empfangen“ oder zum Teilen Ihrer eigenen Kontaktinformationen als Antwort.

Wie NameDrop auf dem iPhone funktioniert (und wie man es deaktiviert) Wie NameDrop auf dem iPhone funktioniert (und wie man es deaktiviert) Nov 30, 2023 am 11:53 AM

In iOS17 gibt es eine neue AirDrop-Funktion, die es Ihnen ermöglicht, Kontaktinformationen mit jemandem auszutauschen, indem Sie zwei iPhones gleichzeitig berühren. Es heißt NameDrop und hier erfahren Sie, wie es tatsächlich funktioniert. NameDrop macht es überflüssig, die Nummer einer neuen Person einzugeben, um sie anzurufen oder ihr eine SMS zu schicken, damit sie Ihre Nummer hat. Sie können Ihr iPhone einfach in die Nähe der Person halten, um Kontaktinformationen auszutauschen. Wenn Sie die beiden Geräte zusammenfügen, wird automatisch die Schnittstelle zum Teilen von Kontakten angezeigt. Wenn Sie auf das Popup klicken, werden die Kontaktinformationen einer Person und ihr Kontaktposter angezeigt (ein eigenes Foto, das Sie anpassen und bearbeiten können, ebenfalls neu in iOS 17). Dieser Bildschirm enthält auch die Option „Nur Empfangen“ oder das Teilen Ihrer eigenen Kontaktinformationen als Antwort

Was ist der Grund für die Verzögerung beim Empfang von Nachrichten auf WeChat? Was ist der Grund für die Verzögerung beim Empfang von Nachrichten auf WeChat? Sep 19, 2023 pm 03:02 PM

Der Grund für die Verzögerung beim Empfang von Informationen durch WeChat können Netzwerkprobleme, Serverlast, Versionsprobleme, Geräteprobleme, Probleme beim Senden von Nachrichten oder andere Faktoren sein. Detaillierte Einführung: 1. Netzwerkprobleme können mit der Netzwerkverbindung zusammenhängen. Wenn die Netzwerkverbindung instabil ist oder das Signal schwach ist, kann es zu Verzögerungen bei der Informationsübertragung kommen mit einem stabilen Netzwerk verbunden und die Netzwerksignalstärke ist gut. 2. Wenn die Auslastung des WeChat-Servers hoch ist, kann es zu Verzögerungen bei der Informationsübertragung kommen, insbesondere wenn eine große Anzahl von Benutzern WeChat verwendet gleichzeitig usw.

iOS 17 NameDrop: So teilen Sie Ihre Kontaktinformationen ganz einfach auf dem iPhone iOS 17 NameDrop: So teilen Sie Ihre Kontaktinformationen ganz einfach auf dem iPhone Jul 30, 2023 pm 05:18 PM

Apple hat eine sehr schnelle (wenn nicht die schnellste) Möglichkeit eingeführt, Ihre Kontaktinformationen über NameDrop mit einem anderen iPhone zu teilen. Hier finden Sie alles, was Sie wissen müssen. Was ist NameDrop? iOS 17 führt NameDrop ein, eine revolutionäre Funktion, die Kontaktposter nutzt. Diese personalisierten Karten können für Sie selbst und andere Kontakte erstellt werden und werden bei jedem Anruf angezeigt. Mit mehreren anpassbaren Optionen wie Fotos, Memojis, Monogrammen und mehr können Sie Ihr Kontaktposter mithilfe Ihres bevorzugten Farbschemas und Ihrer bevorzugten Schriftarten an Ihre Persönlichkeit anpassen. NameDrop teilt Ihr Poster automatisch, wenn sich Ihr iPhone in der Nähe anderer Benutzer befindet, sodass beide Parteien dies mühelos tun können

Was ist die Einheit zur Übertragung von Informationen in einem Computernetzwerk? Was ist die Einheit zur Übertragung von Informationen in einem Computernetzwerk? Dec 07, 2020 pm 05:26 PM

Die Übertragung von Informationen in Computernetzwerken basiert auf „Wörtern“; Wörter sind die Grundeinheit der Datenübertragung. Computernetzwerke haben zwei Hauptfunktionen: Datenkommunikation und gemeinsame Nutzung von Ressourcen, und die bei der Datenkommunikation übertragenen Informationen werden in Form von Binärdaten ausgedrückt. Datenkommunikation ist eine Kommunikationsmethode und ein Kommunikationsdienst, die Datenübertragungstechnologie verwenden, um Dateninformationen zwischen zwei Terminals gemäß einem bestimmten Kommunikationsprotokoll zu übertragen.

See all articles