win7下64位系統memcache/memcached 安裝教程

memcache和memcached的區別 

  memcached技術,這個很容易理解這是memcached是內存緩存,但是怎麼還有memcache呢? 

其實很簡單,memcache是php的一個擴展,用於php管理memcached,php-memcache.dll。 

(1)如果安裝了memcached不安裝擴展,那麼php無法操控memcached,但是命令行使用起來沒有問題 

(2)如果安裝了memcache擴展但是沒有安裝memcached服務,那麼這個就無法使用

(3)只有同時安裝了memcached服務和memcache擴展才可以在PHP中使用memcached提高動態網站性能
一、安裝過程:1、下載memcache的windows64版本

2. 解壓下載後的文件,把它放到一個目錄中,如D:\memcached。

3. 打開cmd,進入memcached解壓後存放的目錄,運行命令:

memcached.exe -d install

4、測試是否安裝成功:

   打開cmd,進入memcached解壓後存放的目錄,運行命令:

   memcached -h,若安裝成功,會出現如下界面:

5. 啓動memcached:

  打開cmd,進入memcached解壓後存放的目錄,運行命令

memcached -m30 -llcoalhost -p9000 -d start

這時memcached已經啓動,在任務管理器中可以看到這個進程:


6、memcache 的基本設置

Memcached 的基本設置 , 可以使用memcached -d ,而不需要memcached.exe -d

-p 監聽的端口-l 連接的IP地址,默認是本機-d start 啓動memcached服務-d restart 重啓memcached 服務-d stop|shutdown 關閉正在運行的memcached服務-d install 安裝memcached服務-d uninstall 卸載memcached 服務-u 以xx的身份運行(僅在root運行的時候有效)-m 最大內存使用,單位MB,默認是64MB,最大好像2G-M 內存耗盡時返回錯誤,而不是刪除項-c 最大同時連接數,默認是1024-f 塊大小增長因子,默認是1.25-n 最小分配空間 key+value+flags 默認是48-h 顯示幫助

7、連接memcache
打開cmd,運行命令:

telnet 127.0.0.1 11211

即可連接Memcached。

注:

(1)win7中可能會出現“telnet’不是內部或外部命令”的錯誤,這是因爲系統中默認沒有安裝telnet的緣故,可在“控制面板”->“程序”->“程序和功能”->“打開或關閉Windows功能”中打開“Telnet客戶端”

(2)在使用telnet 過程中,可能會出現:”該指令無效”,原因是沒有回車,

A. Telnet localhost 11211 【回車】

B. Ctrl + 】 打開回顯功能

C. 回車

二、memcached常用的控制指令

(1)常用指令如下

命令

                                              描述

                                                                      例子

get

獲取一個key值

Get mykey

set

設置一個key值

如果key值存在,更新

如果key值不存在,添加

Set mykey 0 60 5

0(壓縮標識)60(時間,秒)5(字符長度)

add

增加一個key值

如果值存在是要失敗的

Add newkey 0 60 5

回車之後,輸入5個字符長度的數據

replace

重寫一個存在的key值

如果這個key 不存在是要報錯的

Replace key 0 60 5

和set類似,卻別在於該變量不存在則不能存儲

append

追加一個數據到存在的key值的後面

Hello

helloworld

Append key 0 60 15

Prepend

追加一數據到存在的key值的前面

Prepend key 0 60 15

Incr

給key值加數

只有當key值是數字纔可以加減

Incr mykey 2

Decr

給key值減數

只有當key值是數字纔可以加減

Decr mykey 5

Delete

刪除一個key

Delete mykey

Flush_all

清除所有key

Flush_all

在一段時間(秒)後清除key

Flush_all 900

stats

 

Stats

 

Stats slabs

 

Stats malloc

 

Stats detail

 

Stats sizes

 

Stats reset

version

 

Version

Verbosity

 

Verbosity

quit

 

quit


(2)stats 的詳細解釋

Pid

Memcache服務器的進程ID

Uptime

服務器已經運行的秒數

Time

服務器當前的unix時間戳

Version

Memcache版本

Pointer_size

當前操作系統的指針(32位系統一般是32bit

Rusage_user

進程累計用戶時間

Rusage_system

進程的累計系統時間

Curr_items

服務器當前存儲的items數量

Total_items

從服務器啓動後存儲的items總數量

Bytes

當前服務器存儲items佔用的字節數

Curr_connections

當前打開着的連接數

Total_connections

從服務器啓動以後曾經打開過的連接數

Connection_structures

服務器分類的連接構造數

Cmd_get

Get命令(獲取)總請求次數

Cmd_set

Set命令(保存)總請求次數

Get_hits

總命中次數

Get_misses

總未命中次數

Evictions

爲獲取空閒內存而刪除的items 數(分配給memcache的空間用滿後需要刪除舊的items來得到空間分配給新的items

Bytes_read

總讀取字節數(請求字節數)

bytes_written

總髮送字節數(結果字節數)

limit_maxbytes

分配給memcache的內存大小(字節)

threads

當前線程數

Stats items 查看變量的數量,以及變量的狀態Stats cachedump 1 1 [1:指的是壓縮時候的標記,後面的1表示的是查看第一條,不是查看第一條裏面的記錄]、Stats cachedump 1 0 [0:指的是查看所有memcache中存儲的變量]

三、安裝memcache的php擴展:

下載地址:

http://windows.php.net/downloads/pecl/releases/memcache 進入相關下載頁面(下載相關版本)

(1)將下載的php_memcache.dll (根據php的相應版本)放到php的安裝目錄ext 下

(2)在php.ini 中配置  extension = php_memcache.dll 擴展

如果打開phpinfo()頁面沒有看到memcached說明沒有安裝成功

下載的php_memcache.dll 一定要與當前的php版本一致才能安裝成功

若能打印出memcache中的信息,則說明php的memcache擴展已安裝成功且能使用了!

注意:運行代碼時若出現錯誤Fatal error: Class 'Memcache' not found,有可能是下載的 php_memcache.dll文件與php版本不符,或者與系統位數不符。我的是64位系統,php版本是5.5.12,下載的是php_memcache-3.0.8-5.5-ts-vc11-x64.zip這個文件。

(3)Memcache在php中的使用分爲三部分

memcache擴展(php_memcache.dll),memcached擴展(php_memcached.dll),socket操作

①memcache擴展

下載相應版本的php_memcache.dll擴展,在php.ini中配置extension=php_memcache.dll

$mem = new Memcache;$mem ->connect('localhost' , 11211);//連接memcache緩存服務器 , pconnect()長連接,不會因爲close而關閉
$mem ->add('demo' , 'hello world!' , false , 30);//插入數據
$demo = $mem ->get('demo');//取出數據
echo "demo的值是:".$demo."<br/>";
$mem->add('num' , 9 , false , 30);
$mem->increment('num' , 1);//將內存中的num 加1
$mem ->decrement('num' , 2);//將內存中的num減1 , 減的數字最小爲0
$mem ->delete('num');//刪除內存中的num$mem ->flush();//清空內存中所有的變量
$mem ->set('a' , '劉德華' , false , 30);//修改一個變量,當變量不存在時,增加
echo $mem ->get('a');
$mem ->replace('b' ,'demored' , false , 30);//替換一個已經存在的變量,變量不存在不作任何操作
echo $mem->get('b');$mem ->close();//關閉memcache

②Memcached 擴展

下載相應版本的php_memcache.dll

③Socket

使用 memcache-client.php 來使用socket 網絡編程來使用memcache , 用法和memcache擴展類似

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章