亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > PHP > 正文

Ubuntu server 11.04安裝memcache及php使用memcache來存儲session的方法

2024-05-04 23:46:56
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了Ubuntu server 11.04安裝memcache及php使用memcache來存儲session的方法,涉及memcache服務器的安裝及php操作memcache存儲session的相關技巧,需要的朋友可以參考下
 

本文實例講述了Ubuntu server 11.04安裝memcache及php使用memcache來存儲session的方法。分享給大家供大家參考,具體如下:

1、首先安裝memcache服務端:

sudo apt-get install memcached

安裝完成后系統 自動啟動了 memcached服務占用11211端口

如需重新配置11211端口的服務 需要關閉已開啟的memcached服務

手動啟動:

memcached -d -m 128 -p 11211 -u memcache

這里需要說明一下memcached服務的啟動參數:

-p 監聽的端口
-l 連接的IP地址, 默認是本機
-d start 啟動memcached服務
-d restart 重起memcached服務
-d stop|shutdown 關閉正在運行的memcached服務
-d install 安裝memcached服務
-d uninstall 卸載memcached服務
-u 以的身份運行 (僅在以root運行的時候有效)
-m 最大內存使用,單位MB。默認64MB
-M 內存耗盡時返回錯誤,而不是刪除項
-c 最大同時連接數,默認是1024
-f 塊大小增長因子,默認是1.25-n 最小分配空間,key+value+flags默認是48
-h 顯示幫助

2、安裝PHP Memecache 客戶端

$ sudo apt-get install php5-memcache

重啟web服務器

測試memcache代碼:

<?php$mem = new Memcache; //創建Memcache對象$mem->connect("127.0.0.1", 11211); //連接Memcache服務器$val = "這是一個Memcache的測試.";$key = md5($val);if(($k = $mem->get($key))){ //判斷是否獲取到指定的key  echo 'from cache:'.$k;} else {  echo 'normal'; //這里我們在實際使用中就需要替換成查詢數據庫并創建緩存.  $mem->set($key, $val, 0, 120); //增加插入一條緩存,緩存時間為120s}

用memcache存儲session

一般地, Session 是以文本文件形式存儲在服務器端的。如果使用 Seesion,或者該 PHP 文件要調用 Session 變量,那么就必須在調用 Session 之前啟動它,使用 session_start() 函數。其它都不需要你設置了,PHP 自動完成 Session 文件的創建。其默認 Session 的存放路徑是服務器的系統臨時文件夾。

但是如果碰到大數據量的Sesstion的時候, 使用基于文件的Session存取瓶頸可能都是在磁盤IO操作上,現在利用Memcached來保存Session數據,直接通過內存的方式,效率自然能夠提高不少。 在讀寫速度上會比 files 時快很多,而且在多個服務器需要共用 session 時會比較方便,將這些服務器都配置成使用同一組 memcached 服務器就可以,減少了額外的工作量。

其缺點是 session 數據都保存在 memory 中,一旦宕機,數據將會丟失。但對 session 數據來說并不是嚴重的問題。

如何用 memcached 來存儲 session呢?以下是基本的配置步驟:

1. 安裝 memcached (
在 phpinfo 輸出中的 "Registered save handlers" 會有 "files user sqlite"。

2. 修改配置文件,

①. 在 php.ini 中全局設置(* 需要重啟服務器)

session.save_handler = memcachesession.save_path = "tcp://127.0.0.1:11211"

②. 或者某個目錄下的 .htaccess :

php_value session.save_handler "memcache"php_value session.save_path "tcp://127.0.0.1:11211"

③. 也可以在某個一個應用中:

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

注:使用多個 memcached server 時用逗號","隔開,并且和 Memcache::addServer() 文檔中說明的一樣,可以帶額外的參數"persistent"、"weight"、"timeout"、"retry_interval" 等等,類似這樣的:

"tcp://host:port?persistent=1&weight=2,tcp://host2:port2" 。

3. 啟動 memcached

復制代碼代碼如下:
memcached -d -m 10 -u root -l 127.0.0.1 -p 11211 -c 256 -P /tmp/memcached.pid

 

4.測試 創建一個 session

<?php//set_session.phpsession_start();if (!isset($_SESSION['admin'])) {  $_SESSION['admin'] = 'wan';}print $_SESSION['admin'];print "/n";print session_id();?>

5. 用 sessionid 去 memcached 里查詢一下

<?php//get_session.php$mem = new Memcache;$mem->connect("127.0.0.1", 11211);var_dump($mem->get('0935216dbc0d721d629f89efb89affa6'));?>

 

復制代碼代碼如下:
[root@localhost html]# /usr/local/webserver/php/bin/php -f get_session.php

輸出結果:

 

string(16) "admin|s:3:"wan";"

證明 session 正常工作。

再次深入 多域名網站利用MEMCACHE方式共享SESSION數據

通過了解 SESSION 的工作原理,我們可以發現,在默認情況下,各個服務器會各自分別對同一個客戶端產生 SESSION ID,如對于同一個用戶瀏覽器,A 服務器產生的 SESSION ID 是 30de1e9de3192ba6ce2992d27a1b6a0a,而 B 服務器生成的則是 c72665af28a8b14c0fe11afe3b59b51b。另外,PHP 的 SESSION 數據都是分別保存在本服務器的文件系統中。

確定了問題所在之后,就可以著手進行解決了。想要共享 SESSION 數據,那就必須實現兩個目標:一個是各個服務器對同一個客戶端產生的 SESSION ID 必須相同,并且可通過同一個 COOKIE 進行傳遞,也就是說各個服務器必須可以讀取同一個名為 PHPSESSID 的 COOKIE;另一個是 SESSION 數據的存儲方式/位置必須保證各個服務器都能夠訪問到。簡單地說就是多服務器共享客戶端的 SESSION ID,同時還必須共享服務器端的 SESSION 數據。

第一個目標的實現其實很簡單,只需要對 COOKIE 的域(domain)進行特殊地設置即可,默認情況下,COOKIE 的域是當前服務器的域名/IP 地址,而域不同的話,各個服務器所設置的 COOKIE 是不能相互訪問的,如 www.aaa.com 的服務器是不能讀寫 www.bbb.com 服務器設置的 COOKIE 的。這里我們所說的同一網站的服務器有其特殊性,那就是他們同屬于同一個一級域,如:tieba.xiaoyuan.com 和 www.xiaoyuan.com 都屬于域 .xiaoyuan.com,那么我們就可以設置 COOKIE 的域為 .xiaoyuan.com,這樣 tieba.xiaoyuan.com、www.xiaoyuan.com 等等都可以訪問此 COOKIE。PHP 代碼中的設置方法如下:

<?phpini_set('session.cookie_domain', 'xiaoyuan.com');?>

這樣各個服務器共享同一客戶端 SESSION ID 的目的就達到了。

于是 可以在 a.domain.com 下

session.php

<?phpini_set('session.cookie_domain', 'domain.com');session_start();if (!isset($_SESSION['admin'])) {  $_SESSION['admin'] = 'wan';}print $_SESSION['admin'];print "/n";print session_id();

在b.domain.com下

session2.php

<?phpini_set('session.cookie_domain', 'domain.com');session_start();echo $_SESSION['admin'];

希望本文所述對大家Ubuntu平臺上的php程序設計有所幫助。



注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲第一男人天堂| 日韩精品高清视频| 国产成人精品在线观看| 亚洲美女www午夜| 91在线观看免费观看| 亚洲精品国产电影| 国产欧美亚洲精品| 国产亚洲精品激情久久| 日本亚洲精品在线观看| 黑丝美女久久久| 久久青草精品视频免费观看| 日韩欧美极品在线观看| 日韩大陆欧美高清视频区| 久久久久久久久久国产精品| 国产成人精品综合久久久| 日韩欧美在线字幕| xvideos亚洲人网站| 久久精品视频在线| 国产日韩在线精品av| 日韩视频免费中文字幕| 欧美日韩国产激情| 在线看国产精品| 国产午夜精品美女视频明星a级| 最近2019年好看中文字幕视频| 亚洲欧美日本伦理| 8x拔播拔播x8国产精品| 日韩免费av一区二区| 1769国内精品视频在线播放| 亚洲成人久久电影| 国产欧美va欧美va香蕉在线| 欧美韩日一区二区| 国产欧美精品一区二区三区介绍| 欧美一区二区三区四区在线| 国产亚洲成精品久久| 国产成人精品久久亚洲高清不卡| 国产91精品久久久久| 中文字幕9999| 伊人伊成久久人综合网小说| 日韩av中文在线| 欧美激情国产日韩精品一区18| 91超碰中文字幕久久精品| 中文字幕av一区中文字幕天堂| 懂色av中文一区二区三区天美| 亚洲va男人天堂| 国产网站欧美日韩免费精品在线观看| 这里只有精品久久| 成人黄色片在线| 日韩在线观看免费全| 国产精品一区二区三区久久久| 亚洲人成伊人成综合网久久久| 国产精品99久久99久久久二8| 欧美成年人网站| 国产+成+人+亚洲欧洲| 在线一区二区日韩| 成人欧美一区二区三区黑人孕妇| 日韩精品在线观| 色综合久综合久久综合久鬼88| 国产欧美精品久久久| 欧美日韩在线另类| 久久久精品网站| 久久乐国产精品| 精品国产91久久久| 久久久久国产精品免费| 国产在线播放不卡| 久久天天躁狠狠躁夜夜躁2014| 久久久久女教师免费一区| 日韩一区二区三区国产| 日韩在线观看免费高清| 国产精品亚洲一区二区三区| 亚洲国产成人av在线| 亚洲精品按摩视频| 欧美激情精品久久久久久黑人| 97视频在线观看亚洲| 亚洲精品小视频| 清纯唯美亚洲综合| 国产精品美女主播在线观看纯欲| 日韩精品免费综合视频在线播放| 色妞一区二区三区| 亚洲最新中文字幕| 久久精品国产亚洲7777| 亚洲精品v欧美精品v日韩精品| 欧美xxxx18国产| 国产精品久久久999| www.日韩系列| 久久影视电视剧凤归四时歌| 91精品在线国产| 亚洲欧美国产另类| 久久国产精品久久久| 日韩福利伦理影院免费| 97在线视频国产| 午夜精品三级视频福利| 97香蕉久久夜色精品国产| 永久免费精品影视网站| 亚洲综合中文字幕在线| 欧美在线不卡区| 亚洲最新视频在线| 欧美午夜片欧美片在线观看| 色噜噜狠狠狠综合曰曰曰88av| 亚洲国产精品久久精品怡红院| 最近日韩中文字幕中文| 欧美超级乱淫片喷水| 国产一区二区日韩| 日本精品久久久久久久| 色偷偷av亚洲男人的天堂| 全色精品综合影院| 国模极品一区二区三区| 97视频在线免费观看| 国产视频精品一区二区三区| 91成品人片a无限观看| 国产精品久久久久秋霞鲁丝| 日韩av综合网| 免费99精品国产自在在线| 久久久久久久久网站| 91精品国产综合久久香蕉| 成人欧美在线观看| 精品视频久久久久久| 亚洲字幕一区二区| 欧美精品在线免费观看| 最好看的2019年中文视频| 欧美国产高跟鞋裸体秀xxxhd| 欧美激情图片区| 日韩精品中文字幕久久臀| 国产精品久久精品| 欧美精品成人在线| 国产一区二区香蕉| 亚洲石原莉奈一区二区在线观看| 国产成人免费av| 欧美性极品xxxx做受| 成人444kkkk在线观看| 亚洲理论电影网| 精品久久香蕉国产线看观看亚洲| 亚洲国产成人av在线| 美女av一区二区| 亚洲精品视频免费| 成人国产在线视频| 久久精品青青大伊人av| 色噜噜狠狠狠综合曰曰曰88av| 国产精品一久久香蕉国产线看观看| 久久久久久久久久久久av| 久久久久久久久久久成人| 国产精品狼人色视频一区| 欧美乱人伦中文字幕在线| 欧美俄罗斯乱妇| 91视频免费在线| 久久精品一区中文字幕| 精品久久久香蕉免费精品视频| 亚洲精品www久久久| 久久综合88中文色鬼| 国产成人一区二区在线| 久久人人爽人人| 精品在线观看国产| 国产一区二区三区在线观看视频| 欧美人在线观看| 菠萝蜜影院一区二区免费| 美日韩精品视频免费看| 欧洲亚洲妇女av| 国产日韩欧美综合| 国产在线播放91| 久久精品国产精品亚洲| 亚洲国产精品va| 国产九九精品视频| 国产精品久久久久久久久久久久久久| 国产成人综合亚洲| 国产最新精品视频|