程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php使用 memcache 來存儲 session 方法總結,memcachesession

php使用 memcache 來存儲 session 方法總結,memcachesession

編輯:關於PHP編程

php使用 memcache 來存儲 session 方法總結,memcachesession


設置session用memcache來存儲

方法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: 再或者在某個一個應用中

1 ini_set("session.save_handler", "memcache"); 
2 ini_set("session.save_path", "tcp://127.0.0.1:11211");

 



使用多個 memcached server 時用逗號","隔開,並且和 Memcache::addServer() 文檔中說明的一樣,可以帶額外的參數"persistent"、"weight"、"timeout"、"retry_interval" 等等,類似這樣的:"tcp://host1:port1?persistent=1&weight=2,tcp://host2:port2" 。

如果安裝的PECL是memcached(依賴libmemcached庫的那個擴展),則配置應為
Php代碼 收藏代碼
ini_set("session.save_handler", "memcached"); // 是memcached不是memcache
ini_set("session.save_path", "127.0.0.1:11211"); // 不要tcp:[/b]


代碼例子(不依賴libmemcached庫的那個)

復制代碼
 1 <?php 
 2 session_start(); 
 3 if (!isset($_SESSION['TEST'])) { 
 4 $_SESSION['TEST'] = time(); 
 5 } 
 6 
 7 $_SESSION['TEST3'] = time(); 
 8 
 9 print $_SESSION['TEST']; 
10 print "<br><br>"; 
11 print $_SESSION['TEST3']; 
12 print "<br><br>"; 
13 print session_id(); 
14 ?>
復制代碼

 用 sessionid 去 memcached 裡查詢一下:

? 1 2 3 4 5 6 <?php $memcache = memcache_connect('localhost', 11211); var_dump($memcache->get('19216821213c65cedec65b0883238c278eeb573e077')); $memcache->set('aaaa', 'hello everyone'); var_dump($memcache->get('aaaa')); ?>

會看到
string(37) "TEST|i:1177556731;TEST3|i:1177556881;"
這樣的輸出,證明 session 正常工作。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved