日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > php >内容正文

php

php原生session,利用Memcached在php下实现session机制 替换PHP的原生session支持

發(fā)布時間:2023/12/10 php 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php原生session,利用Memcached在php下实现session机制 替换PHP的原生session支持 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

方法文件

session實現(xiàn)文件:memcachedsession.php

實現(xiàn)原理(也是PHP內(nèi)部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里面

//memcached服務(wù)器連接地址

$_MEMCACHEAUTH = array(

'host' => 'localhost'

, 'port' => 11211

);

/*

獲取一些初始化設(shè)置值

*/

$_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()方法

邏輯應(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();

}

}

//注冊一個handler,這個函數(shù)會在頁面執(zhí)行完的時候執(zhí)行

register_shutdown_function("_session_save_handler");

}

/*

頁面最后執(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);

}

?>

測試文件:

設(shè)置session值

/*

設(shè)置session值文件:session_set.php

*/

include_once "memcachedsession.php";

_session_start();

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

?>

獲取session值

/*

獲取session值文件:session_get.php

*/

include_once "memcachedsession.php";

_session_start();

function getsession()

{

echo $_SESSION['a'];

}

getsession();

?>

Memcached的緩沖應(yīng)用還是非常不錯滴,呵呵,,,

轉(zhuǎn)載:jincon's 包 blog http://www.yi1.com.cn

總結(jié)

以上是生活随笔為你收集整理的php原生session,利用Memcached在php下实现session机制 替换PHP的原生session支持的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日韩在线视频观看 | 亚洲国产日韩在线观看 | 美女露出粉嫩尿囗让男人桶 | 欧美精品999| 国产午夜精品福利视频 | www午夜视频 | 亚洲精品一区二区三区蜜桃久 | 91精品免费观看 | 久久久久久国产精品无码 | 欧美特黄aaaaaa | 日韩在线视频二区 | 毛片在线网 | www.久久久久久久久 | 国产成人在线免费观看视频 | 夜夜春很很躁夜夜躁 | 国产又色又爽又黄的 | 亚洲熟妇无码久久精品 | 国产做爰xxxⅹ性视频国 | 有码一区 | 51精品国自产在线 | 午夜小视频在线播放 | 国产视频www | a天堂视频在线观看 | 黄色网页在线播放 | 中文字幕第八页 | 人人草av | 男人吃奶视频 | 国产高清免费在线播放 | 国产伦理久久精品久久久久 | 调教丰满的已婚少妇在线观看 | 就操网 | www.色国产| 亚洲日b视频 | 无码人妻av一区二区三区波多野 | 国产三级国产精品国产国在线观看 | 中文字幕二 | 欧美大片视频在线观看 | jizz欧美性23 | 国产操比视频 | 黄色免费成人 | 日本一区二区在线观看视频 | 国产精品探花在线观看 | 国产又大又黑又粗 | 亚洲a级精品 | 国产一区在线不卡 | 永久免费看黄网站 | 在线观看特色大片免费网站 | 国产成人无码专区 | 叶全真三级 | 美国性生活大片 | 成人av中文解说水果派 | 亚洲天堂视频在线 | 亚洲色图18p | 九九久久精品 | 亚洲欧洲日本精品 | 日韩在线一二 | たちの熟人妻av一区二区 | 无码成人一区二区 | 99久久人妻无码精品系列 | 亚洲精品乱码久久久久久写真 | 国产地址 | 国产麻豆一级片 | 97精品人妻一区二区三区 | 精品国偷自产国产一区 | 亚洲AV成人精品 | 国产婷婷一区二区 | 黄色一级在线观看 | 乌克兰性极品xxxhd | 深夜免费福利视频 | 国产一区二区 | 国产a级免费视频 | 国产一级不卡毛片 | 免费av片 | 免费看欧美一级片 | 国产精品野外户外 | 国产高清一区 | 精品国产一级片 | 中文字幕最新 | 少妇网站在线观看 | 日韩欧美高清dvd碟片 | 男女免费网站 | 国产一区二区三区小说 | 亚洲一级片网站 | 视频一二区 | 91精品一区二区三区综合在线爱 | 风韵多水的老熟妇 | 成人性生活视频 | 久久国产人妻一区二区免色戒电影 | 中文字幕巨乳 | 尤物videos另类xxxx| 欧美韩国日本在线 | 九九热综合| 国产情侣av自拍 | 中文久久乱码一区二区 | 91丨九色丨黑人外教 | 色一区二区三区四区 | 成人tiktok黄短视频 | 一本大道av伊人久久综合 | 国产精品免费视频一区二区 |