第一步:安裝 Memcached 服務
第二步:讓php加載memcached.dll擴展
詳情步驟如下:
第一步:安裝 Memcached 服務
1、下載 Memcached 密碼:jzay。壓縮文件里有三個文件夾,我用的是"memcached_win64_推薦"文件夾里的memcached.exe。
2、安裝memcached,安裝之后無任何提示。
3、啟動memcached服務
繼續在cmd.exe 執行開啟memcached命令 :
1 memcached.exe -d start
可以去開始->管理工具->服務里查看memcached是否已啟動
也可以去任務管理器查看
設定系統的自啟動:chkconfig --add memcached (網上看到的方法,沒試過。真假自測)
4、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 顯示幫助
5、memcached的停止與卸載命令
F:\php\WWW\memcached/memcached.exe -d stop
F:\php\WWW\memcached/memcached.exe -d uninstall
二、PHP安裝memcache擴展
1、下載memcache.dll擴展 密碼: duv9 (注意:PHP版本應與dll文件的版本相匹配。文件里的PHP5.4、PHP5.5、PHP5.6都親測有用) 或者去http://pecl.php.net/package/memcache/3.0.8/windows選擇相應的版本下載
2、將其中的php_memcache.dll 擴展文件拷貝到 php 的擴展目錄中,例如:F:\php\php\php-5.5.38\ext
3、修改php.ini文件
打開php的php.ini文件(我的地址是:F:\php\php\php-5.5.38\php.ini)
添加一行代碼:
extension=php_memcache.dll
注意:必須在新的一行,前面不能有分號。
然后保存之后,重啟服務器
檢查是否加載成功:phpinfo中查看,假如如圖所示,則成功
三、創建程序
1 <?php 2 $memcache = new Memcache; 3 $memcache->connect('127.0.0.1',11211) or die('shit'); 4 $memcache->set('hello','world'); 5 $hello = $memcache->get('hello'); 6 echo $hello; 7 ?>
關於如何使用多個memcached 緩存服務器.
1 <?php 2 3 $mem=new Memcache(); 4 5 //如果我們網站,需要多個memached緩存系統. 6 7 //$mem->connect("localhost",11211); (立即向localhost的11211端口發出連接) 8 9 $mem->addServer("192.168.1.100",11211);//256 ->10m 10 11 $mem->addServer("192.168.1.200",11211); 12 13 $mem->addServer("192.168.1.222",11211); 14 15 //創建多個memcache服務使用. 16 17 //addServer 會根據負載均衡算法,自動放入每個服務器 18 19 $mem->add("name","zs",0,100); 20 21 ?>
注意:string, int,float, boolean array object null resource 中除了 resource 不能存放,其它都可以。
PHP操作Memcached常用語句:
1 < ?php 2 //連接 3 $mem = new Memcache; 4 $mem->connect("192.168.0.200", 12000); 5 6 //保存數據 7 $mem->set('key1', 'This is first value', 0, 60); 8 $val = $mem->get('key1'); 9 echo "Get key1 value: " . $val ."<br/>"; 10 11 //替換數據 12 $mem->replace('key1', 'This is replace value', 0, 60); 13 $val = $mem->get('key1'); 14 echo "Get key1 value: " . $val . "<br/>"; 15 16 //保存數組 17 $arr = array('aaa', 'bbb', 'ccc', 'ddd'); 18 $mem->set('key2', $arr, 0, 60); 19 $val2 = $mem->get('key2'); 20 echo "Get key2 value: "; 21 print_r($val2); 22 echo "<br/>"; 23 24 //刪除數據 25 $mem->delete('key1'); 26 $val = $mem->get('key1'); 27 echo "Get key1 value: " . $val . "<br/>"; 28 29 //清除所有數據 30 $mem->flush(); 31 $val2 = $mem->get('key2'); 32 echo "Get key2 value: "; 33 print_r($val2); 34 echo "<br/>"; 35 36 //關閉連接 37 $mem->close(); 38 ?>
附:Memcached視頻教程 密碼: 4df8