天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

利用Memcached在php下實(shí)現(xiàn)session機(jī)制 替換PHP的原生session支持

方法文件
session實(shí)現(xiàn)文件:memcachedsession.php
實(shí)現(xiàn)原理(也是php內(nèi)部session的實(shí)現(xiàn)原理):
1.先判斷客戶(hù)端有沒(méi)有sessionid,
a.沒(méi)有就添加一個(gè)sessionid給客戶(hù)端,通常是32位hash碼,同時(shí)初始化一個(gè)數(shù)組做session容器
b.如果客戶(hù)端有sessionid,則利用這個(gè)sessionid去memcached里面查數(shù)據(jù)。
2.用戶(hù)在頁(yè)面執(zhí)行過(guò)程中可以自行修改session容器里的session值
3.頁(yè)面最后會(huì)把用戶(hù)的session容器作為值,以用戶(hù)的sessionid作為鍵,把這個(gè)鍵值對(duì)保存到
memcached里面
復(fù)制代碼 代碼如下:
<?php
//memcached服務(wù)器連接地址
$_MEMCACHEAUTH = array(
'host' => 'localhost'
, 'port' => 11211
);
/*
獲取一些初始化設(shè)置值
*/
$_SESSION_NAME = ini_get("session.name"); //sessionid的名稱(chēng)
$_SESSION_TIME = ini_get("session.cookie_lifetime"); //sessionid這個(gè)cookie的最大保存時(shí)間
$_SESSION_EXPIRE = ini_get("session.gc_maxlifetime"); //session鍵值對(duì)在memcached里面的過(guò)期時(shí)間
$_SESSION_MEMKEY = ""; //sessionid值
/*
自定義的_session_start()方法,替換php的原生session_start()方法
邏輯應(yīng)該是比較清楚的
*/
function _session_start()
{
global $_SESSION_NAME, $_SESSION_TIME, $_SESSION_MEMKEY;
global $_SESSION;
global $_MEMCACHEAUTH, $_sessionmem;
$_sessionmem = memcache_connect($_MEMCACHEAUTH['host'], $_MEMCACHEAUTH['port']);
if ( empty($_COOKIE[$_SESSION_NAME]) )
{
$_SESSION_MEMKEY = md5( uniqid() );
setcookie($_SESSION_NAME, $_SESSION_MEMKEY , $_SESSION_TIME, "/");
$_SESSION = array();
}
else
{
$_SESSION_MEMKEY = $_COOKIE[$_SESSION_NAME];
$_SESSION = memcache_get($_sessionmem, $_SESSION_MEMKEY );
if ( $_SESSION === FALSE )
{
$_SESSION = array();
}
}
//注冊(cè)一個(gè)handler,這個(gè)函數(shù)會(huì)在頁(yè)面執(zhí)行完的時(shí)候執(zhí)行
register_shutdown_function("_session_save_handler");
}
/*
頁(yè)面最后執(zhí)行的方法,用于保存session值,以及關(guān)閉memcached連接
*/
function _session_save_handler()
{
global $_sessionmem;
global $_SESSION, $_SESSION_NAME, $_SESSION_EXPIRE, $_SESSION_MEMKEY;
memcache_set($_sessionmem, $_SESSION_MEMKEY, $_SESSION, 0, $_SESSION_EXPIRE);
memcache_close($_sessionmem);
}
?>

測(cè)試文件:
設(shè)置session值
復(fù)制代碼 代碼如下:
<?php
/*
設(shè)置session值文件:session_set.php
*/
include_once "memcachedsession.php";
_session_start();
$_SESSION['a'] = time();
?>

獲取session值
復(fù)制代碼 代碼如下:
<?php
/*
獲取session值文件:session_get.php
*/
include_once "memcachedsession.php";
_session_start();
function getsession()
{
echo $_SESSION['a'];
}
getsession();
?>

Memcached的緩沖應(yīng)用還是非常不錯(cuò)滴,呵呵,,,
轉(zhuǎn)載:jincon's 包 blog http://www.yi1.com.cn

php技術(shù)利用Memcached在php下實(shí)現(xiàn)session機(jī)制 替換PHP的原生session支持,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 好男人在线观看视频观看高清视频免费 | 欧美美女一区二区三区 | 国产精品亚洲精品影院 | 亚洲大爷操 | 妹妹我要操 | 日本高清色片 | 久久精品国产亚洲AV忘忧草蜜臀 | 99热在线免费播放 | 影音先锋男人av橹橹色 | 国产成人无码视频一区二区三区 | 无人区日本电影在线观看高清 | 亚洲 欧美 国产 综合久久 | 亚洲 欧美 国产 综合 在线 | 亚洲综合网国产精品一区 | 亚洲人成77777 | 无码137片内射在线影院 | 国产欧美精品国产国产专区 | 久青草国产在线观看视频 | 亚洲高清无在码在线无弹窗 | 久久大胆视频 | 涩涩网站在线看 | 1819sextub欧美中国 | 欧美乱妇狂野欧美在线视频 | 国产女人视频免费观看 | 20岁αsrian男同志免费 | 国产探花在线精品一区二区 | chinese帅哥gv在线看 | 双性h浪荡受bl | 欧洲最强rapper潮水喷视频 | 亚洲免费人成在线视频观看 | 国产精品爽爽久久久久久无码 | 国产精品久久久久久亚洲毛片 | 日本高清不卡码无码v亚洲 日本福利片午夜免费观着 日本粉嫩学生毛绒绒 | 午夜亚洲精品不卡在线 | 丰满少妇69激情啪啪无码 | 野花日本高清在线观看免费吗 | 国产人妻精品午夜福利免费不卡 | 青柠在线观看视频在线高清 | 国产午夜在线精品三级a午夜电影 | 国产精品高清免费网站 | 国产精品免费一区二区区 |