PHP實(shí)現(xiàn)分布式memcache設(shè)置web集群session同步的方法
本文實(shí)例講述了PHP實(shí)現(xiàn)分布式memcache設(shè)置web集群session同步的方法。
php的session默認(rèn)是文件存儲(chǔ):
session.save_handler = files session.save_path = "/var/lib/php/session"
當(dāng)做web集群,需要session同步時(shí),將session存到分布式memcache來達(dá)到共享同步是個(gè)不錯(cuò)的辦法
方法:
第1種:
vi /etc/php.ini
session.save_handler = memcache session.save_path = "tcp://192.168.20.193:11211,tcp://192.168.20.194:11211"
第2種:
在php文件中使用ini_set函數(shù)進(jìn)行配置,適合無法修改配置文件的虛擬主機(jī)
<?php
....
ini_set("session.save_handler", "memcache");
ini_set("session.save_path", "tcp://192.168.20.193:11211,tcp://192.168.20.194:11211");
....
?>
重啟web服務(wù)器
service httpd restart
查看phpinfo

測試
192.168.20.193中的login.php
<?php
session_start();
$_SESSION['login_time'] = time();
$_SESSION['username'] = 'test2';
$token=session_id();
echo $token;
//memache實(shí)現(xiàn)
$mem = new Memcache();
$mem->addServer('192.168.20.193',11211);
$mem->addServer('192.168.20.194',11211);
/*
//memached實(shí)現(xiàn)
$mem = new Memcached();
$servers = array(
array('192.168.20.193', 11211, 33),
array('192.168.20.194', 11211, 67)
);
$mem->addServers($servers);
*/
echo '<hr>';
print_r($mem->get($token));
?>
<div>
<a href="http://192.168.20.194/user.php?token=<?php echo $token;?>" rel="external nofollow" target="_balnk">跳轉(zhuǎn)到194網(wǎng)站的個(gè)人中心</a>
</div>
192.168.20.194中的user.php
<?php
$mem = new Memcache();
$mem->addServer('192.168.20.193',11211);
$mem->addServer('192.168.20.194',11211);
$token=$_GET['token'];//獲取傳過來的token
print_r($mem->get($token));
?>
<div>
<a href="http://192.168.20.193/user.php?token=<?php echo $token;?>" rel="external nofollow" target="_balnk">返回193網(wǎng)站的個(gè)人中心</a>
</div>
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php緩存技術(shù)總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《php字符串(string)用法總結(jié)》、《PHP錯(cuò)誤與異常處理方法總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家PHP程序設(shè)計(jì)有所幫助。
- SpringBoot開發(fā)案例 分布式集群共享Session詳解
- 如何使用Spring+redis實(shí)現(xiàn)對session的分布式管理
- spring boot整合redis實(shí)現(xiàn)shiro的分布式session共享的方法
- 淺談ASP.NET Core中間件實(shí)現(xiàn)分布式 Session
- 詳解springboot中redis的使用和分布式session共享問題
- 詳解基于Spring Boot/Spring Session/Redis的分布式Session共享解決方案
- ASP.NET通過分布式Session提升性能
- 簡單了解4種分布式session解決方案
相關(guān)文章
PHP開發(fā)工具ZendStudio下Xdebug工具使用說明詳解
我使用的是XAMPP的集成開發(fā)平臺(tái)環(huán)境。里面已經(jīng)預(yù)設(shè)了Xdebug的調(diào)試工具,只需要自己改下配置的就可以了2013-11-11
php站內(nèi)搜索并高亮顯示關(guān)鍵字的實(shí)現(xiàn)代碼
將sql語句中包含的%$info%交給DBMS執(zhí)行的時(shí)候,他會(huì)查找字段中含有變量$info的值的信息2011-12-12
PHP實(shí)現(xiàn)JWT的Token登錄認(rèn)證
這篇文章通過實(shí)例代碼介紹了PHP實(shí)現(xiàn)JWT的Token登錄認(rèn)證的方式,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-12-12
PHP使用strrev翻轉(zhuǎn)中文亂碼問題的解決方法
這篇文章主要介紹了PHP使用strrev翻轉(zhuǎn)中文亂碼問題的解決方法,通過自定義函數(shù)遍歷字符串并設(shè)置編碼格式解決亂碼問題,需要的朋友可以參考下2017-01-01

