溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

PHP 自定義session儲(chǔ)存 MEMCACHE 方式類   高洛峰 細(xì)說PHP

發(fā)布時(shí)間:2020-06-18 04:33:44 來源:網(wǎng)絡(luò) 閱讀:302 作者:津沙港灣 欄目:web開發(fā)

自定義session儲(chǔ)存 MEMCACHE 方式類

在php.ini配置文件中更改設(shè)置 (Registered_save_handlers 有三種方式 files user memcache)

session.save_handler = user 表示用戶自定義session類

<?php 
/*
 * 自定義session儲(chǔ)存memcache方式的類
 * 
 */
 class MemSession{    
      public  static  $mem;                     //pdo的對象
      public  static $maxlifetime;         //最大生存時(shí)間

      
      public static function start(Memcache $mem){//限制變量是Memcache類
            self::$mem               =   $mem;
            self::$maxlifetime =    ini_get('session.gc_maxlifetime'); 
                     
          //注冊自定義函數(shù)
          session_set_save_handler(
              array(__CLASS__,'open'), 
               array(__CLASS__,'close'),
               array(__CLASS__,'read'),
               array(__CLASS__,'write'),
               array(__CLASS__,'destroy'),
               array(__CLASS__, 'gc'));
          //開啟會(huì)話
          session_start();
      }
      
        //開始 sesssion_start()
        public static function  open($path,$name){
            echo 'open<br/>';
            return true;
        }
        //關(guān)閉
        public static function close(){
            echo 'close<br/>';
           return true;
        }
        //讀取 echo 
        public static function read($sid){
            echo 'read<br/>';  
            $data = self::$mem->get($sid);
            if(empty($data)){
                return ' ';
            }
            return $data;
            }
        //寫入 $_SESSION['username']='yang'
        public static function write($sid,$data){
            echo 'write<br/>';
            self::$mem->set($sid, $data,MEMCACHE_COMPRESSED,self::$maxlifetime);// 如果設(shè)置為0表明該元素永不過期
        }
        //銷毀 session_destroy
        public static function destroy($sid){
            echo 'destroy<br/>';     
            self::$mem->delete($sid,0);//0 表示立即刪除 0秒
        }
        //回收垃圾
        public static function gc($maxlifetime){
            echo 'gc<br/>';            
            return true;
 }
 }

 //創(chuàng)建對象
 $mem = new Memcache();
 //添加兩臺memcache服務(wù)器
 $mem->addserver('localhost',11211);
 $mem->addserver('192.168.10.254',11211);
 //開始
 MemSession::start($mem);


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI