在php中設(shè)置session用memcache來存儲的方法總結(jié)
memcached提供了一個自定義的session處理器可以被用于存儲用戶session數(shù)據(jù)到memcached服務(wù)端。一個完全獨立的memcached實例將會在內(nèi)部使用,因此如果需要您可以設(shè)置一個不同的服務(wù)器池。session的key被存儲在前綴memc.sess.key.之下,因此, 如果你對session和通常的緩存使用了同樣的服務(wù)器池,請注意這一點。譯注:另外一個session和通常緩存分離的原因是當(dāng)通常的緩存占滿了memcached服務(wù)端后,可能會導(dǎo)致你的session被從緩存中踢除,導(dǎo)致用戶莫名的掉線。
session.save_handler string
設(shè)置為memcached開啟memcached的session處理器。
session.save_path string
定義一個逗號分隔的hostname:port樣式的session緩存服務(wù)器池,例如: "sess1:11211, sess2:11211".
方法I: 在 php.ini 中全局設(shè)置
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: 再或者在某個一個應(yīng)用中
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庫的那個擴展),則配置應(yīng)為
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開發(fā)負(fù)載均衡指南
- Nginx 安裝筆記(含PHP支持、虛擬主機、反向代理負(fù)載均衡)
- 基于php使用memcache存儲session的詳解
- PHP中使用memcache存儲session的三種配置方法
- 利用Memcached在php下實現(xiàn)session機制 替換PHP的原生session支持
- php將session放入memcached的設(shè)置方法
- thinkPHP多域名情況下使用memcache方式共享session數(shù)據(jù)的實現(xiàn)方法
- PHP保存session到memcache服務(wù)器的方法
- Ubuntu server 11.04安裝memcache及php使用memcache來存儲session的方法
- PHP實現(xiàn)分布式memcache設(shè)置web集群session同步的方法
- PHP實現(xiàn)負(fù)載均衡下的session共用功能
相關(guān)文章
PHPMYADMIN導(dǎo)入數(shù)據(jù)最大為2M的解決方法
PHPMYADMIN還原數(shù)據(jù)庫的時候上傳的最大限制:2,048 KB,數(shù)據(jù)庫稍微大一些就無法處理,要么使用其他的備份還原工具如帝國備份王,要么就分卷導(dǎo)出,那么有沒有辦法還使用PHPMYADMIN來處理呢2012-04-04php+jquery+html實現(xiàn)點擊不刷新加載更多的實例代碼
下面小編就為大家?guī)硪黄猵hp+jquery+html實現(xiàn)點擊不刷新加載更多的實例代碼。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-08-08基于php和mysql的簡單的dao類實現(xiàn)crud操作功能
一個簡單的dao,實現(xiàn)基本的CRUD功能,可以繼承擴展為實際業(yè)務(wù)的dao類,當(dāng)然也可以直接使用2014-01-01關(guān)于UEditor編輯器遠(yuǎn)程圖片上傳失敗的解決辦法
因為單純喜歡 UEditor 的界面,于是把項目中原先的編輯器進(jìn)行的替換,但在后續(xù)操作中發(fā)現(xiàn)一些問題,就是遠(yuǎn)程圖片上傳2012-08-08