一、簡介
1.memcache與memcached的區別與聯系:
memcache是php的拓展,memcached是客戶端,復雜的說:Memcache模塊提供了於memcached方便的面向過程及面向對象的接口,memcached是為了降低動態web應用 從數據庫加載數據而產生的一種常駐進程緩存產品。
二、安裝
1.安裝memacached.exe
①c盤下新建一個memcached文件夾,將下載memcached解壓到這個文件夾
②
在開始中輸入cmd,找到cmd.exe程序,在上面點右鍵,選擇“以管理員身份運行”
③輸入 : cmd c:/memcached
④輸入 :memcached.exe -d install //安裝memcached
⑤輸入 :memcached.exe -d start //啟動memcached
2.安裝php_memcached.dll
①到后面的頁面下載memcache.dll http://pecl.php.net/package/memcache/3.0.8/windows
// 要下載跟自己的軟件集成包版本一致的dll文件,如: ①你的xampp是32位的,你就需要下載x86的 ②phpinfo()中顯示 Thread Safety(線程安全):enabled 你需要下載 TS的否則,下載NTS
②將下載的dll文件拷貝到../php/ext 目錄下
③在php.in中添加
extension=php_memcache.dll
④重啟apace
3.使用memcahe
$mem = new Memcache;
$mem->connect("127.0.0.1", 11211);
$mem->set('key', 'Hello Memcached!', 0, 60);
$val = $mem->get('key');
echo $val;
//輸出:Hello Memcached!,則表明安裝成功,可以使用memcached了
//下面是yii2中使用memcached的用法
$memcached = Yii::$app->cache->add('sex','nan');
$memcachedGet = Yii::$app->cache->get('sex');
echo $memcachedGet;
4.常用設置:
-p <num> 監聽的端口
-l <ip_addr> 連接的IP地址, 默認是本機
-d start 啟動memcached服務
-d restart 重起memcached服務
-d stop|shutdown 關閉正在運行的memcached服務
-d install 安裝memcached服務
-d uninstall 卸載memcached服務
-u <username> 以<username>的身份運行 (僅在以root運行的時候有效)
-m <num> 最大內存使用,單位MB。默認64MB
-M 內存耗盡時返回錯誤,而不是刪除項
-c <num> 最大同時連接數,默認是1024
-f <factor> 塊大小增長因子,默認是1.25
-n <bytes> 最小分配空間,key+value+flags默認是48
-h 顯示幫助
5.注意事件
若指定了 -m,則表示緩存大小為 -m后的數字,單位是 M,例如:
c:/memcached/memcached.exe –l 127.0.0.1 –m 200 - d start
按照上面的安裝步驟安裝之后,使用 memcached –m 200 來調整最大內存占用之后會發現沒有起作用,總是默認的64MB的內存,原因可能是注冊表中並沒有寫入信息,可以這樣來修改。
1、 memcached –d shutdown 首先關閉memcached服務。
2、進入注冊表,找到 HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/memcached Server, 在其中有一個ImagePath項,值為 "c:/memcached/memcached.exe" -d runservice,在后面加上 -l 127.0.0.1 -m 200 -c 1024。
3、memcached –d start 啟動memcached服務,這樣就將memcached的最大內存修改為了200MB。