session写入memcache

80 篇文章 0 订阅


1.通过memecache扩展

    配置:
    session.save_handler = memcache
    session.save_path = "tcp://host:port"

   phpinfo中变量值:
    
Registered save handlers   files user sqlite memcache

   测试

2)test1.php

<?php

session_start();

if (!isset($_SESSION['TEST'])) {   

$_SESSION['TEST'] = time();

}

$_SESSION['TEST3'] = time();
print $_SESSION['TEST'];
print $_SESSION['TEST3'];
print session_id();

输出:

1234506445

1234506445

3bbf03b9cedace4e0164a0c3d56712d1

3)test2.php

取test1.php输出的sessionid来测试

$memcache = memcache_connect('211.162.58.77', 11211);
var_dump($memcache->get('3bbf03b9cedace4e0164a0c3d56712d1'));


输出:

string(37) "TEST|i:1234503252;TEST3|i:1234503398;"

至此,测试成功!


2.通过session_savehandlr人扩展

Some PHP code for memcached session handler. 

<?php 
class SessionHadler 
{ 
     private static $lifetime = 0; 

     public static function open() 
     { 
         self::$lifetime = ini_get('session.gc_maxlifetime'); 
         
         return true; 
     } 
     
     public static function read($id) 
     { 
         return memcached::get("sessions/{$id}"); 
     } 
     
     public static function write($id, $data) 
     { 
         return memcached::set("sessions/{$id}", $data, self::$lifetime); 
     } 
     
     public static function destroy($id) 
     { 
         return memcached::delete("sessions/{$id}"); 
     } 
     
     private function __construct(){} 
     public static function gc(){ return true; } 
     public static function close(){    return true; } 
     public function __destruct() 
     { 
         session_write_close(); 
     } 
 } 
?> 

3.缺点:

memcache把内存分成很多种规格的存储块,有块就有大小,这种方式也就决定了,memcache不能完全利用内存,会产生内存碎片,如果存储块不足,还会产生内存溢出。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

anssummer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值