在php中memcache擴展的使用
- memcached服務端在windows環境下的安裝
下載memcached的穩定版本,終端命令啓動(管理員權限),
執行memcached.exe -d install進行安裝;
執行memcached.exe -d start進行啓動,
可以使用telnet客戶端請求查看memcached服務是否啓動成功,連接成功,輸入stats,
結果如下:
windows下安裝php的memcache的擴展
windows下安裝php的memcache的擴展還是比較簡單的,
唯一值得注意的是php版本與memcache版本一定要對應,切記
比如我的php版本是5.5.12_TS_VC11_x86,對應的memcache版本應該是這個:
下載完成後解壓,將文件php_memcache.dll拷貝到php擴展所在目錄下,
我的在:G:\wamp\bin\php\php5.5.12\ext;
同時修改apache的bin目錄下的php.ini,注意是apache目錄下的php.ini,不是php目錄下的php.ini,
我的在:G:\wamp\bin\apache\apache2.4.9\bin\php.ini,
添加這句:extension=php_memcache.dll,
然後重啓apache服務,查看phpinfo()會出現:
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 顯示幫助php中memcache應用例子:
$memcache = new Memcache;
$memcache->connect('127.0.0.1',11211);
$memcache->set('key','hello memcache!');
$out = $memcache->get('key');
echo $out.'
';
//保存數據
$memcache->set('key1', 'qqqqqqqqqqqqq', 0, 60);
$val = $memcache->get('key1');
echo "Get key1 value: " . $val ."
";
//替換數據
$memcache->replace('key1', 'wwwwwwwwwwwwww', 0, 60);
$val = $memcache->get('key1');
echo "Get key1 value: " . $val . "
";
//保存數組
$arr = array('11', '22', '33', '44');
$memcache->set('key2', $arr, 0, 60);
$val2 = $memcache->get('key2');
echo "Get key2 value: ";
print_r($val2);
echo "
";
//刪除數據
$memcache->delete('key1');
$val = $memcache->get('key1');
echo "Get key1 value: " . $val . "
";
//清除所有數據
$memcache->flush();
$val2 = $memcache->get('key2');
echo "Get key2 value: ";
print_r($val2);
echo "
";
//關閉連接
$memcache->close();
結果如下:
hello memcache!
Get key1 value: qqqqqqqqqqqqq
Get key1 value: wwwwwwwwwwwwww
Get key2 value: Array ( [0] => 11 [1] => 22 [2] => 33 [3] => 44 )
Get key1 value:
Get key2 value: