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

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

方法文件
session實現(xiàn)文件:memcachedsession.php
實現(xiàn)原理(也是php內部session的實現(xiàn)原理):
1.先判斷客戶端有沒有sessionid,
a.沒有就添加一個sessionid給客戶端,通常是32位hash碼,同時初始化一個數(shù)組做session容器
b.如果客戶端有sessionid,則利用這個sessionid去memcached里面查數(shù)據(jù)。
2.用戶在頁面執(zhí)行過程中可以自行修改session容器里的session值
3.頁面最后會把用戶的session容器作為值,以用戶的sessionid作為鍵,把這個鍵值對保存到
memcached里面
復制代碼 代碼如下:
<?php
//memcached服務器連接地址
$_MEMCACHEAUTH = array(
'host' => 'localhost'
, 'port' => 11211
);
/*
獲取一些初始化設置值
*/
$_SESSION_NAME = ini_get("session.name"); //sessionid的名稱
$_SESSION_TIME = ini_get("session.cookie_lifetime"); //sessionid這個cookie的最大保存時間
$_SESSION_EXPIRE = ini_get("session.gc_maxlifetime"); //session鍵值對在memcached里面的過期時間
$_SESSION_MEMKEY = ""; //sessionid值
/*
自定義的_session_start()方法,替換php的原生session_start()方法
邏輯應該是比較清楚的
*/
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();
}
}
//注冊一個handler,這個函數(shù)會在頁面執(zhí)行完的時候執(zhí)行
register_shutdown_function("_session_save_handler");
}
/*
頁面最后執(zhí)行的方法,用于保存session值,以及關閉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);
}
?>

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

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

Memcached的緩沖應用還是非常不錯滴,呵呵,,,
轉載:jincon's 包 blog http://www.yi1.com.cn

php技術利用Memcached在php下實現(xiàn)session機制 替換PHP的原生session支持,轉載需保留來源!

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

主站蜘蛛池模板: 韩国污动漫无遮掩无删减电脑版 | 爽死你个放荡粗暴小淫货漫画 | 特黄大片aaaaa毛片 | 伊人久久大香线蕉无码麻豆 | 哇嘎在线精品视频在线观看 | 午夜爱情动作片P | 曰批国产精品视频免费观看 | 男女又黄又刺激B片免费网站 | 久久精品影视 | 菠萝菠萝蜜高清观看在线 | 男人的天堂色偷偷 | 高傲教师麻麻被同学调教123 | 久色乳综合思思在线视频 | 免费看男人J放进女人J无遮掩 | 一级做a爰片久久毛片免费 一级做a爰片久久毛片潮喷动漫 | 国产一区日韩二区欧美三区 | 国产GV天堂亚洲国产GV刚刚碰 | 永久免费精品精品永久-夜色 | 国产精品AV无码免费播放 | 欧美成人精品高清在线观看 | 欧美激情一区二区三区视频 | 午夜色情影院色a国产 | 日本aa大片 | 韩国黄电影 | 欧美69xxx | 久久视热频国产这里只有精品23 | 无码成A毛片免费 | videos gratis欧美另类 | AV无码久久无遮挡国产麻豆 | 久久不射电影网 | 伊人久久99热这里只有精品 | 成人国产三级在线播放 | 久久精品亚洲精品国产欧美 | 各种肉黄浪荡故事集 | 亚洲视频网站欧美视频网站 | 国产精品久久久久影院色 | 97se se| 国自产拍 高清精品 | 久久久久国产精品嫩草影院 | 你是淫荡的我的女王 | 亚洲欧美日本国产在线观18 |