技術討論區 > PHP程式設計討論區

超快速的實現 session on memcache

頁: (1/5) > >>

Darkhero:

看文件總是會有新發現...
如果你用的 php, php-memcache 版本夠新...
可以很輕易的將 Session 用 memcached 保存了...


--- 引用 --- session.save_path  string

    Defines a comma separated of server urls to use for session storage, for example "tcp://host1:11211, tcp://host2:11211".

    Each url may contain parameters which are applied to that server, they are the same as for the Memcache::addServer() method. For example "tcp://host1:11211?persistent=1&weight=1&timeout=1&retry_interval=15"

--- 引用結尾 ---



--- 代碼: ---<?php
$session_save_path = "tcp&#58;//$host&#58;$port?persistent=1&weight=2&timeout=2&retry_interval=10,  ,tcp&#58;//$host&#58;$port  ";
ini_set&#40;'session.save_handler', 'memcache'&#41;;
ini_set&#40;'session.save_path', $session_save_path&#41;;
?>
--- 程式碼結尾 ---


http://tw.php.net/memcache

micmic3:

Y凱~問一下  Memcache 通常是用在那個地方呢..
問的原因是還沒有機會用到

ricky:

memcache的用途是在提供一個 "資料交換" 的空間
尤其是在多web server
卻又得共用session時
他是採用memory作為資料存放使用,所以速度很快。
採用tcp協定,跨Server交換資料也不是問題

舉個簡單的例子
如果你的系統中有一筆資料要提供給php程式以及ruby程式,甚至跨越不同Server
偏偏這個資料存取很頻繁(例如線上人數的即時統計)
使用DB或是檔案存放都不是個好主意(IO會很重)
這時候就是memcache上場的時候了

Darkhero:


--- 引述: "ricky" ---memcache的用途是在提供一個 "資料交換" 的空間
尤其是在多web server
卻又得共用session時
他是採用memory作為資料存放使用,所以速度很快。
採用tcp協定,跨Server交換資料也不是問題

舉個簡單的例子
如果你的系統中有一筆資料要提供給php程式以及ruby程式,甚至跨越不同Server
偏偏這個資料存取很頻繁(例如線上人數的即時統計)
使用DB或是檔案存放都不是個好主意(IO會很重)
這時候就是memcache上場的時候了
--- 引用結尾 ---


是的..在大型系統這是很重要的東西喔...
也可以放 cache , 像是 資料庫的 result , Smarty 的 static page cache 等可以 cache 一份.放在 memcache 中就可以跨主機共享...
應用事實上很多種。

facebook 聽說用了上百台電腦做 memcache server 群....
http://blog.gslin.org/archives/2007/08/08/1261/

appleboy:


--- 引述: "Darkhero" ---
--- 引述: "ricky" ---memcache的用途是在提供一個 "資料交換" 的空間
尤其是在多web server
卻又得共用session時
他是採用memory作為資料存放使用,所以速度很快。
採用tcp協定,跨Server交換資料也不是問題

舉個簡單的例子
如果你的系統中有一筆資料要提供給php程式以及ruby程式,甚至跨越不同Server
偏偏這個資料存取很頻繁(例如線上人數的即時統計)
使用DB或是檔案存放都不是個好主意(IO會很重)
這時候就是memcache上場的時候了
--- 引用結尾 ---


是的..在大型系統這是很重要的東西喔...
也可以放 cache , 像是 資料庫的 result , Smarty 的 static page cache 等可以 cache 一份.放在 memcache 中就可以跨主機共享...
應用事實上很多種。

facebook 聽說用了上百台電腦做 memcache server 群....
http://blog.gslin.org/archives/2007/08/08/1261/
--- 引用結尾 ---


我比較想知道如果 session 存在 db 跟 存在檔案 哪個速度比較快

哪個吃 I/O比較重~  因為我看 phpbb的code 他是把session寫到資料表裡面

在讀取的~ 這跟平常如果是存在 檔案上的方式比較不同~ :lol:

頁: (1/5) > >>

前往完整版本