Jadual Kandungan
php之session最优将信息写入memcache中管理
Rumah pembangunan bahagian belakang tutorial php php之session最优将信息写入memcache中管理_PHP教程

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

Jul 13, 2016 am 10:01 AM
maklumat

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);
Salin selepas log masuk


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

再初始化方法

    	//初始化方法
    	private static function init($handler){
    		self::$handler=$handler;
    		self::$lifetime=ini_get(&#39;session.gc_maxlifetime&#39;);
    		self::$time=time();
    	}
Salin selepas log masuk


开启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();
    	}
Salin selepas log masuk

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

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

    	public static function open($path, $name){
    		return true;
    	}
    	public static function close(){
    		return true;
    	}
Salin selepas log masuk

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;  //返回得到的数据
    	}
Salin selepas log masuk

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);

    	}
Salin selepas log masuk

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;
    	}
Salin selepas log masuk

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

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

    		return $session_key;
    	}
Salin selepas log masuk

 

 

 

结果显示

如果成功,在telnet中显示

\

 

\

 

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

 


 

 

 

 

 

 

 

 

 

 

 

 

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/971083.htmlTechArticlephp之session最优将信息写入memcache中管理 前面也讲到了用memcache存储数据信息缓存的方法和好处,这样能够减少访问数据库的次数,减少访问...
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk mengalih keluar maklumat pengarang dan terakhir diubah suai dalam Microsoft Word Bagaimana untuk mengalih keluar maklumat pengarang dan terakhir diubah suai dalam Microsoft Word Apr 15, 2023 am 11:43 AM

Dokumen Microsoft Word mengandungi beberapa metadata apabila disimpan. Butiran ini digunakan untuk pengenalan pada dokumen, seperti apabila ia dibuat, siapa pengarangnya, tarikh diubah suai, dsb. Ia juga mempunyai maklumat lain seperti bilangan aksara, bilangan perkataan, bilangan perenggan dan banyak lagi. Jika anda mungkin ingin mengalih keluar pengarang atau maklumat terakhir yang diubah suai atau sebarang maklumat lain supaya orang lain tidak mengetahui nilainya, maka ada caranya. Dalam artikel ini, mari lihat cara mengalih keluar pengarang dokumen dan maklumat terakhir diubah suai. Alih keluar pengarang dan maklumat terakhir diubah suai daripada dokumen Microsoft Word Langkah 1 – Pergi ke

Bagaimana untuk mendapatkan GPU dalam Windows 11 dan semak butiran kad grafik Bagaimana untuk mendapatkan GPU dalam Windows 11 dan semak butiran kad grafik Nov 07, 2023 am 11:21 AM

Menggunakan Maklumat Sistem Klik Mula dan masukkan Maklumat Sistem. Hanya klik pada program seperti yang ditunjukkan dalam imej di bawah. Di sini anda boleh menemui kebanyakan maklumat sistem, dan satu perkara yang anda boleh temui ialah maklumat kad grafik. Dalam program Maklumat Sistem, kembangkan Komponen, dan kemudian klik Tunjukkan. Biarkan program mengumpulkan semua maklumat yang diperlukan dan setelah ia siap, anda boleh mencari nama khusus kad grafik dan maklumat lain pada sistem anda. Walaupun anda mempunyai berbilang kad grafik, anda boleh menemui kebanyakan kandungan yang berkaitan dengan kad grafik khusus dan bersepadu yang disambungkan ke komputer anda dari sini. Menggunakan Pengurus Peranti Windows 11 Sama seperti kebanyakan versi Windows yang lain, anda juga boleh mencari kad grafik pada komputer anda daripada Pengurus Peranti. Klik Mula dan kemudian

Cara berkongsi butiran hubungan dengan NameDrop: Panduan cara untuk iOS 17 Cara berkongsi butiran hubungan dengan NameDrop: Panduan cara untuk iOS 17 Sep 16, 2023 pm 06:09 PM

Dalam iOS 17, terdapat ciri AirDrop baharu yang membolehkan anda bertukar maklumat hubungan dengan seseorang dengan menyentuh dua iPhone. Ia dipanggil NameDrop, dan inilah cara ia berfungsi. Daripada memasukkan nombor orang baharu untuk menghubungi atau menghantar teks kepada mereka, NameDrop membenarkan anda meletakkan iPhone anda berhampiran iPhone mereka untuk bertukar-tukar butiran hubungan supaya mereka mempunyai nombor anda. Meletakkan kedua-dua peranti bersama-sama akan muncul secara automatik antara muka perkongsian kenalan. Mengklik pada pop timbul akan memaparkan maklumat hubungan seseorang dan poster kenalan mereka (anda boleh menyesuaikan dan mengedit foto anda sendiri, juga ciri baharu iOS17). Skrin ini juga termasuk pilihan untuk "Terima Sahaja" atau berkongsi maklumat hubungan anda sendiri sebagai balasan.

Algoritma NeRF paparan tunggal S^3-NeRF menggunakan maklumat berbilang pencahayaan untuk memulihkan geometri pemandangan dan maklumat bahan. Algoritma NeRF paparan tunggal S^3-NeRF menggunakan maklumat berbilang pencahayaan untuk memulihkan geometri pemandangan dan maklumat bahan. Apr 13, 2023 am 10:58 AM

Kerja pembinaan semula 3D imej semasa biasanya menggunakan kaedah pembinaan semula stereo berbilang paparan (Stereo Berbilang Pandangan) yang merakam pemandangan sasaran daripada berbilang sudut pandangan (berbilang paparan) di bawah keadaan pencahayaan semula jadi yang berterusan. Walau bagaimanapun, kaedah ini biasanya menganggap permukaan Lambertian dan mengalami kesukaran memulihkan butiran frekuensi tinggi. Satu lagi pendekatan untuk pembinaan semula pemandangan ialah menggunakan imej yang ditangkap dari sudut pandangan tetap tetapi dengan lampu titik yang berbeza. Kaedah Stereo fotometrik, sebagai contoh, ambil persediaan ini dan gunakan maklumat teduhannya untuk membina semula butiran permukaan objek bukan Lambertian. Walau bagaimanapun, kaedah paparan tunggal sedia ada biasanya menggunakan peta biasa atau peta kedalaman untuk mewakili yang boleh dilihat

Bagaimana NameDrop berfungsi pada iPhone (dan cara melumpuhkannya) Bagaimana NameDrop berfungsi pada iPhone (dan cara melumpuhkannya) Nov 30, 2023 am 11:53 AM

Dalam iOS17, terdapat ciri AirDrop baharu yang membolehkan anda bertukar maklumat hubungan dengan seseorang dengan menyentuh dua iPhone pada masa yang sama. Ia dipanggil NameDrop, dan inilah cara ia sebenarnya berfungsi. NameDrop menghapuskan keperluan untuk memasukkan nombor orang baharu untuk menelefon atau menghantar mesej kepada mereka supaya mereka mempunyai nombor anda, anda hanya boleh memegang iPhone anda rapat dengan iPhone mereka untuk bertukar maklumat hubungan. Meletakkan kedua-dua peranti bersama-sama akan muncul secara automatik antara muka perkongsian kenalan. Mengklik pada pop timbul akan memaparkan maklumat hubungan seseorang dan poster kenalan mereka (foto anda sendiri yang boleh anda sesuaikan dan edit, juga baharu kepada iOS 17). Skrin ini juga termasuk "Terima Sahaja" atau berkongsi maklumat hubungan anda sendiri sebagai balasan

Apakah sebab kelewatan dalam menerima mesej di WeChat? Apakah sebab kelewatan dalam menerima mesej di WeChat? Sep 19, 2023 pm 03:02 PM

Sebab kelewatan dalam WeChat menerima maklumat mungkin masalah rangkaian, beban pelayan, masalah versi, masalah peranti, masalah penghantaran mesej atau faktor lain. Pengenalan terperinci: 1. Masalah rangkaian Kelewatan dalam menerima maklumat pada WeChat mungkin berkaitan dengan sambungan rangkaian Jika sambungan rangkaian tidak stabil atau isyarat lemah, ia boleh menyebabkan kelewatan dalam penghantaran maklumat disambungkan ke rangkaian yang stabil dan kekuatan isyarat rangkaian adalah baik ; masa yang sama, dsb.

iOS 17 NameDrop: Cara Mudah Berkongsi Maklumat Hubungan Anda pada iPhone iOS 17 NameDrop: Cara Mudah Berkongsi Maklumat Hubungan Anda pada iPhone Jul 30, 2023 pm 05:18 PM

Apple telah memperkenalkan cara yang sangat pantas (jika bukan yang terpantas) untuk berkongsi maklumat hubungan anda dengan iPhone lain melalui NameDrop. Ini semua yang anda perlu tahu. Apakah NameDrop? iOS 17 memperkenalkan NameDrop, ciri revolusioner yang memanfaatkan poster kenalan. Kad yang diperibadikan ini boleh dibuat untuk diri sendiri dan kenalan lain dan akan muncul apabila anda membuat panggilan. Dengan berbilang pilihan yang boleh disesuaikan seperti foto, Memoji, monogram dan banyak lagi, anda boleh menyesuaikan poster kenalan anda untuk memadankan personaliti anda menggunakan skema warna dan fon pilihan anda. NameDrop berkongsi poster anda secara automatik apabila iPhone anda berada berdekatan dengan pengguna lain, membolehkan kedua-dua pihak dengan mudah

计算机网络中信息的传递是以什么为单位 计算机网络中信息的传递是以什么为单位 Dec 07, 2020 pm 05:26 PM

计算机网络中信息的传递是以“字”为单位的;字是数据传送的基本单位。计算机网络有两个主要功能:数据通信和资源共享,而数据通信中传递的信息均以二进制数据形式来表现。数据通信是依照一定的通信协议,利用数据传输技术在两个终端之间传递数据信息的一种通信方式和通信业务。

See all articles