小編給大家分享一下在php中如何設置session用memcache來存儲,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

memcached提供了一個自定義的session處理器可以被用于存儲用戶session數(shù)據(jù)到memcached服務端。一個完全獨立的memcached實例將會在內(nèi)部使用,因此如果需要您可以設置一個不同的服務器池。session的key被存儲在前綴memc.sess.key.之下,因此, 如果你對session和通常的緩存使用了同樣的服務器池,請注意這一點。譯注:另外一個session和通常緩存分離的原因是當通常的緩存占滿了memcached服務端后,可能會導致你的session被從緩存中踢除,導致用戶莫名的掉線。
session.save_handler string
設置為memcached開啟memcached的session處理器。
session.save_path string
定義一個逗號分隔的hostname:port樣式的session緩存服務器池,例如: "sess1:11211, sess2:11211".
方法I: 在 php.ini 中全局設置
session.save_handler = memcache session.save_path = "tcp://127.0.0.1:11211"
方法II: 某個目錄下的 .htaccess
php_value session.save_handler "memcache" php_value session.save_path "tcp://127.0.0.1:11211"
方法III: 再或者在某個一個應用中
ini_set("session.save_handler", "memcache");
ini_set("session.save_path", "tcp://...:");使用多個 memcached server 時用逗號","隔開,并且和 Memcache::addServer() 文檔中說明的一樣,可以帶額外的參數(shù)"persistent"、"weight"、"timeout"、"retry_interval" 等等,類似這樣的:"tcp://host1:port1?persistent=1&weight=2,tcp://host2:port2" 。
如果安裝的PECL是memcached(依賴libmemcached庫的那個擴展),則配置應為
ini_set("session.save_handler", "memcached"); // 是memcached不是memcache
ini_set("session.save_path", "127.0.0.1:11211"); // 不要tcp:[/b]代碼例子(不依賴libmemcached庫的那個)
<?php
session_start();
if (!isset($_SESSION['TEST'])) {
$_SESSION['TEST'] = time();
}
$_SESSION['TEST'] = time();
print $_SESSION['TEST'];
print "<br><br>";
print $_SESSION['TEST'];
print "<br><br>";
print session_id();
?>用 sessionid 去 memcached 里查詢一下:
<?php
$memcache = memcache_connect('localhost', );
var_dump($memcache->get('ccedecbceebe'));
$memcache->set('aaaa', 'hello everyone');
var_dump($memcache->get('aaaa'));
?>會看到
string(37) "TEST|i:1177556731;TEST3|i:1177556881;"
這樣的輸出,證明 session 正常工作。
下面通過兩種用法實例給大家介紹下php中使用memcached來存儲session
一、
ini_set("session.save_handler", "memcache");
ini_set("session.save_path","tcp://127.0.0.1:11211");多個memcached
ini_set("session.save_path","tcp://127.0.0.1:11211,tcp://127.0.0.1:11211");二、
ini_set("session.save_handler", "memcached");
ini_set("session.save_path","...:");多個memcached
ini_set("session.save_path","127.0.0.1:11211,127.0.0.1:11211");以上是“在php中如何設置session用memcache來存儲”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
網(wǎng)站題目:在php中如何設置session用memcache來存儲-創(chuàng)新互聯(lián)
分享路徑:http://www.chinadenli.net/article30/dhsjpo.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供服務器托管、App開發(fā)、標簽優(yōu)化、定制開發(fā)、外貿(mào)建站、小程序開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容