成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

PHP高性能分布式內存對象緩存系統擴展Memcached的安裝及使用

瀏覽:215日期:2022-09-15 18:01:40
一、簡介及安裝

memcached是一個高性能分布式的內存對象緩存系統, 通常被用于降低數據庫加載壓力以提高動態web應用的響應速度。

此擴展使用了libmemcached庫提供的api與memcached服務端進行交互。它還提供了一個session處理器(memcached)。

關于memcached的安裝,可參考這篇文章:Ubuntu中memcached的安裝和配置。

在安裝php擴展memcached之前,需要先安裝libmemcached,libmemcached是memcached的C/C++本地客戶端庫。

安裝libmemcached之前,還要先安裝libcloog-ppl0,否則編譯安裝過程中會出錯:

sudo apt-get install libcloog-ppl0

然后從這里http://libmemcached.org/libMemcached.html下載所需的libmemcached源碼安裝包,解壓到指定目錄,進入該目錄,然后執行以下指令:

./configure --prefix=/usr/local/libmemcachedmakesudo make install

然后就可以進行php的memcached擴展的安裝了,從這里下載所需的源碼安裝包:http://pecl.php.net/package/memcached,解壓到指定目錄,進入該目錄,然后執行以下指令:

phpize./configure --with-php-config=/usr/local/php/bin/php-config --with-libmemcached-dir=/usr/local/libmemcachedmakesudo make install

在安裝過程中可能會報錯:

未知類型名稱:memcached_server_instance_st

而導致make失敗,解決辦法如下:

在memcached擴展解壓目錄下找到這個文件:php_libmemcached_compat.h,然后在其中添加下面這行

typedef const struct memcached_server_st *memcached_server_instance_st;

再次make,就OK了。

安裝成功后,在php.ini中添加extension=memcacached,然后重啟apache,查看phpinfo,看到如下部分

PHP高性能分布式內存對象緩存系統擴展Memcached的安裝及使用

證明安裝成功。

二、超時時間

一些存儲命令在發送時會包含一個失效值(與一個元素或一個客戶端操作請求相關)到服務端。所有這類用法,實際發送的值可以 是一個Unix時間戳(自1970年1月1日起至失效時間的整型秒數),或者是一個從現在算起的以秒為單位的數字。對于后一種情況,這個 秒數不能超過60×60×24×30(30天時間的秒數);如果失效的值大于這個值, 服務端會將其作為一個真實的Unix時間戳來處理而不是 自當前時間的偏移。

如果失效值被設置為0(默認),此元素永不過期(但是它可能由于服務端為了給其他新的元素分配空間而被刪除)。

三、回調1.結果回調

Result callbacks方式在通過 Memcached::getDelayed()或Memcached::getDelayedBykey()方法獲取元素后,為結果集中每個元素調用一次。 回調函數可以接收到一個Memcached對象合一個數組描述的元素信息,此回調函數不需要返回任何信息。

Example #1 結果回調示例

<?php $m = new Memcached(); $m->addServer(’localhost’, 11211); $items = array(’key1’ => ’value1’,’key2’ => ’value2’,’key3’ => ’value3’ ); $m->setMulti($items); $m->getDelayed(array(’key1’, ’key3’), true, ’result_cb’); function result_cb($memc, $item) {var_dump($item); }?>

以上例程的輸出類似于:

array(3) { ['key']=> string(4) 'key1' ['value']=> string(6) 'value1' ['cas']=> float(49)}array(3) { ['key']=> string(4) 'key3' ['value']=> string(6) 'value3' ['cas']=> float(50)}2.通讀緩存回調

通讀緩存回調在一個元素沒有從服務端檢索到的時候被調用。這個回調函數會接收到Memcached對象,請求的key以及 一個引用方式傳遞的值變量等三個參數。此回調函數負責通過返回true或false來決定在key沒有值時設置一個默認值。 如果回調返回true,Memcached會存儲'傳出參數'(引用傳遞的值變量)存儲的值到memcached服務端并將其返回到原來 的調用函數中。僅僅 Memcached::get()和 Memcached::getByKey() 支持這類回調,因為Memcache協議不支持在請求多個key時提供未檢索到key的信息。

Example #2 通讀回調示例

<?php $m = new Memcached(); $m->addServer(’localhost’, 11211); $profile_info = $m->get(’user:’.$user_id, ’user_info_cb’); function user_info_cb($memc, $key, &$value) {$user_id = substr($key, 5);/* 從數據庫讀取個人信息 *//* ... */$value = $profile_info;return true; }?>四、Sessions支持

memcached提供了一個自定義的session處理器可以被用于存儲用戶session數據到memcached服務端。 一個完全獨立的memcached實例將會在內部使用,因此如果需要您可以設置一個不同的服務器池。session的 key被存儲在前綴memc.sess.key.之下,因此, 如果你對session和通常的緩存使用了 同樣的服務器池,請注意這一點。 譯注:另外一個session和通常緩存分離的原因是當通常的緩存占滿了memcached服務端后,可能會導致你的session被 從緩存中踢除,導致用戶莫名的掉線。

session.save_handler 設置為memcached開啟memcached的session處理器。session.save_path定義一個逗號分隔的hostname:port樣式的session緩存服務器池,例如: 'sess1:11211, sess2:11211'.五、Memcached類

表征到memcached服務集群的連接。

Memcached::add — 向一個新的key下面增加一個元素Memcached::addByKey — 在指定服務器上的一個新的key下增加一個元素Memcached::addServer — 向服務器池中增加一個服務器Memcached::addServers — 向服務器池中增加多臺服務器Memcached::append — 向已存在元素后追加數據Memcached::appendByKey — 向指定服務器上已存在元素后追加數據Memcached::cas — 比較并交換值Memcached::casByKey — 在指定服務器上比較并交換值Memcached::__construct — 創建一個Memcached實例Memcached::decrement — 減小數值元素的值Memcached::decrementByKey — Decrement numeric item’s value, stored on a specific serverMemcached::delete — 刪除一個元素Memcached::deleteByKey — 從指定的服務器刪除一個元素Memcached::deleteMulti — Delete multiple itemsMemcached::deleteMultiByKey — Delete multiple items from a specific serverMemcached::fetch — 抓取下一個結果Memcached::fetchAll — 抓取所有剩余的結果Memcached::flush — 作廢緩存中的所有元素Memcached::get — 檢索一個元素Memcached::getAllKeys — Gets the keys stored on all the serversMemcached::getByKey — 從特定的服務器檢索元素Memcached::getDelayed — 請求多個元素Memcached::getDelayedByKey — 從指定的服務器上請求多個元素Memcached::getMulti — 檢索多個元素Memcached::getMultiByKey — 從特定服務器檢索多個元素Memcached::getOption — 獲取Memcached的選項值Memcached::getResultCode — 返回最后一次操作的結果代碼Memcached::getResultMessage — 返回最后一次操作的結果描述消息Memcached::getServerByKey — 獲取一個key所映射的服務器信息Memcached::getServerList — 獲取服務器池中的服務器列表Memcached::getStats — 獲取服務器池的統計信息Memcached::getVersion — 獲取服務器池中所有服務器的版本信息Memcached::increment — 增加數值元素的值Memcached::incrementByKey — Increment numeric item’s value, stored on a specific serverMemcached::isPersistent — Check if a persitent connection to memcache is being usedMemcached::isPristine — Check if the instance was recently createdMemcached::prepend — 向一個已存在的元素前面追加數據Memcached::prependByKey — Prepend data to an existing item on a specific serverMemcached::quit — Close any open connectionsMemcached::replace — 替換已存在key下的元素Memcached::replaceByKey — Replace the item under an existing key on a specific serverMemcached::resetServerList — Clears all servers from the server listMemcached::set — 存儲一個元素Memcached::setByKey — Store an item on a specific serverMemcached::setMulti — 存儲多個元素Memcached::setMultiByKey — Store multiple items on a specific serverMemcached::setOption — 設置一個memcached選項Memcached::setOptions — Set Memcached optionsMemcached::setSaslAuthData — Set the credentials to use for authenticationMemcached::touch — Set a new expiration on an itemMemcached::touchByKey — Set a new expiration on an item on a specific server
標簽: PHP
相關文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
波多野结衣精品在线| 欧美激情亚洲| 成人免费福利片| 久热re这里精品视频在线6| 欧美无人高清视频在线观看| 国产精品美女久久久久久| 久久69国产一区二区蜜臀| 国产一区导航| 午夜电影一区二区| aa国产精品| 国产精品国产三级国产a| av动漫一区二区| 在线播放/欧美激情| 日本不卡一二三| 香蕉免费一区二区三区在线观看| 久久精品视频一区二区三区| 国产精品123| 欧美日韩国产高清一区二区| 青青草一区二区三区| 免费亚洲一区二区| 亚洲欧美日韩一区| 狠狠干综合网| 国产农村妇女毛片精品久久麻豆 | 福利一区在线观看| 欧美图区在线视频| 免费精品视频最新在线| 久久久精品动漫| 亚洲va在线va天堂| 国产精品一区视频网站| 综合亚洲深深色噜噜狠狠网站| 99久久婷婷国产综合精品电影 | 亚州成人在线电影| 在线视频精品一区| 一区二区三区久久久| 永久域名在线精品| 国产精品美女久久久久久久久 | 91精品办公室少妇高潮对白| 丝袜美腿高跟呻吟高潮一区| 在线一区日本视频| 夜夜亚洲天天久久| 亚洲欧美日本视频在线观看| 亚洲一区二区三区自拍| 99精品免费| 亚洲欧洲在线观看av| 精品白丝av| 亚洲女子a中天字幕| 亚洲日本久久| 一区av在线播放| 美脚丝袜一区二区三区在线观看| 亚洲va欧美va国产va天堂影院| 美日韩精品视频| 蜜臀av亚洲一区中文字幕| 欧美日韩一区中文字幕| 国产精品一线二线三线| 欧美一区二区不卡视频| 国产.欧美.日韩| 亚洲精品日韩久久| 国产精品国产三级国产aⅴ中文 | 久久亚洲精选| 久久国产精品免费| 欧美大片一区二区三区| 色综合久久综合| 中文字幕一区二区视频| 一区二区久久| 午夜天堂影视香蕉久久| 久久午夜精品一区二区| 亚洲色图欧美激情| 久久蜜桃资源一区二区老牛| 九九热在线视频观看这里只有精品| 91精品欧美一区二区三区综合在| 国产suv精品一区二区三区| 久久精品视频网| 亚洲国内精品| 日韩成人一级片| 91麻豆精品国产自产在线观看一区| 成人一级片在线观看| 国产精品久99| 噜噜噜久久亚洲精品国产品小说| 美女性感视频久久| 欧美va亚洲va在线观看蝴蝶网| 99国产精品国产精品毛片| 国产精品久久久久三级| 久久精品日产第一区二区三区| 久久99日本精品| 久久亚洲二区三区| 亚洲人久久久| 精品一区二区影视| 国产三级精品视频| 国产精品一区在线观看| 美女视频一区在线观看| 久久xxxx| 国产麻豆视频精品| 亚洲国产精品激情在线观看| 国产精品一区二区在线观看| 国产一区在线观看视频| 精品久久久久久无| 亚洲乱码久久| 久久99国产精品尤物| 国产午夜精品一区二区三区嫩草| av成人天堂| 国产一区中文字幕| 中文字幕乱码一区二区免费| 久久国产66| 成人精品高清在线| 一区二区三区四区不卡视频| 欧美色国产精品| 欧美午夜免费影院| 免费观看在线综合| 久久精品一区二区三区四区| 蜜桃久久av| 成人黄色在线视频| 日韩毛片一二三区| 欧美精品777| 亚洲高清在线观看一区| 精品亚洲国产成人av制服丝袜| 欧美国产精品一区二区| 在线观看欧美黄色| 欧美激情亚洲| 精品一区二区成人精品| 国产精品国产精品国产专区不片| 日本精品一级二级| 欧美激情性爽国产精品17p| 日本美女一区二区| 中文子幕无线码一区tr| 色婷婷综合久久久中文字幕| 欧美在线不卡| 天使萌一区二区三区免费观看| 精品国产乱码久久久久久1区2区 | 成人免费毛片aaaaa**| 一区二区三区久久| 欧美v日韩v国产v| 色综合久久九月婷婷色综合| 欧美一区二区三区久久精品| 美女在线视频一区| 亚洲一区二区成人在线观看| 国产亚洲欧美日韩日本| 7777精品伊人久久久大香线蕉 | 噜噜噜噜噜久久久久久91| 欧美在线播放| 成人黄色电影在线| 精品影视av免费| 亚洲大片免费看| 国产精品福利电影一区二区三区四区| 911精品国产一区二区在线| 一本一道久久a久久精品| 亚洲视屏一区| 99re66热这里只有精品3直播| 精品一区二区三区在线观看国产| 舔着乳尖日韩一区| 一区二区三区在线观看国产| 中文成人av在线| 精品久久久网站| 日韩一卡二卡三卡四卡| 欧美色图片你懂的| 久久久久看片| 国产美女在线精品免费观看| 女主播福利一区| 国产91清纯白嫩初高中在线观看| 欧美精品亚洲二区| 国产欧美精品久久| 99视频在线精品| 国产精品你懂的在线欣赏| 欧美三片在线视频观看| 日本电影亚洲天堂一区| 极品少妇一区二区三区| 精品在线免费视频| 日韩电影在线一区二区| 亚洲欧洲色图综合| 精品国产一区二区亚洲人成毛片 | 国产精品免费一区二区三区观看| 国产精品一级片在线观看| 极品瑜伽女神91| 亚洲国产一区二区三区 | 在线亚洲免费视频| 久久精品中文字幕一区二区三区| 91小视频在线免费看| 国产精品1024久久| 日韩电影在线观看电影| 亚洲女人的天堂| 中文字幕在线不卡一区二区三区 | 欧美日韩 国产精品| 豆国产96在线|亚洲| 国产精品视频一区二区三区不卡| 日韩精品资源二区在线| 在线看国产日韩| 色狠狠桃花综合| 亚洲一区二区三区精品动漫 | 亚洲一区二区三区免费在线观看| 欧美日韩国产不卡在线看| 成人美女视频在线看| 美女网站视频久久| 激情综合色综合久久| 日本最新不卡在线| 亚洲午夜免费电影| 国产日产精品一区| 久久蜜桃一区二区| 91精品国产色综合久久| 欧美综合一区二区| 久久亚洲色图| 久久久久看片|