黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

用 memcache 來存儲 session

系統 2376 0

轉自:http://weixiang096.blog.163.com/blog/static/12747355520119289744424/

PECL :: Package :: memcache 2.1.1 版本的 Changelog 中有一條:

- Added experimental session storage support. You can use memcached as session storage.

也就是可以直接用 memcache 來作 PHP 的 session.save_handler。

1. 安裝? memcached ,還是那套 ./configure; make; make install,注意 memcached 用 libevent 來作事件驅動,所以要先安裝有 libevent。

2. 安裝? pecl::memcache ,用 pecl 命令行工具安裝:

    pecl install memcache
  

或直接從源碼安裝:

    phpize
    
./configure
make
make install

將 php.ini 中 extension=memcache.so 打開,重啟一下 apache,查看 phpinfo 中的 "Registered save handlers" 會有 "files user memcache" 這3個可用。

3. 修改配置文件,在 php.ini 中全局設置:

    session.save_handler = memcache
    
session.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://host1:port1?persistent=1&weight=2,tcp://host2:port2" 。

4. 啟動 memcached:

    memcached -d -l 127.0.0.1 -p 11212 -m 128
  

5. 在程序中使用 memcache 來作 session 存儲,用例子測試一下:

    <?php
    
session_start();
if (!isset($_SESSION['TEST'])) {
$_SESSION['TEST'] = time();
}

$_SESSION['TEST3'] = time();

print $_SESSION['TEST'];
print "<br><br>";
print $_SESSION['TEST3'];
print "<br><br>";
print session_id();
?>

6. 用 sessionid 去 memcached 里查詢一下:

    <?php
    
$memcache = memcache_connect('localhost', 11211);
var_dump($memcache->get('19216821213c65cedec65b0883238c278eeb573e077'));
?>

會有看到

    string(37) "TEST|i:1177556731;TEST3|i:1177556881;"
  

這樣的輸出,證明 session 正常工作。

用 memcache 來存儲 session 在讀寫速度上會比 files 時快很多,而且在多個服務器需要共用 session 時會比較方便,將這些服務器都配置成使用同一組 memcached 服務器就可以,減少了額外的工作量。缺點是 session 數據都保存在 memory 中,持久化方面有所欠缺,但對 session 數據來說也不是很大的問題。

另外, WS Memcached Session Handler for PHP ?提供一種用 session_set_save_handler 來利用 memcached 的方法。

用 memcache 來存儲 session


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論