memcache安裝使用

聲明:

      此文章是觀看韓順平老師教程時,自己整理的筆記,與韓老師上課時所作的筆記類似。

1.    memcahe提高數據訪問速度。將數據放入內存中。

(1)直接查詢:讀取需要的數據

(2)使用真靜態:從磁盤中讀取數據。

(3)使用mencache:從內存中獲取數據。


2.    memcahe維護了一張內存表(hashtable)用鍵值對存放數據。

Key   value

100    10

說明:memcahe的key一般是字串不能重複。否則就會被沖掉。

      Value可以放入字符串、數值、布爾值、數組、對象、二進制


3.    安裝使用memcached

(1)下載memcached軟件  減壓後。

(2)打開cmd cd到memcached.exe存放的地方

(3)然後安裝指令:memcached.exe –d install

啓動memcached

(1) 到計算機管理/服務和應用程序處啓動

(2) 命令行啓動:memcached.exe –d start

(3) 使用netstat –an 如果看到11211端口在監聽,就說明啓動成功。

說明:使用netstat –an還可以看到那些IP正在訪問這個服務器。

      使用netstat –anb可以查看哪個程序正在使用哪個端口。

(4) memcached常用命令:


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 顯示幫助

 

 

 

memcached的基本命令(memcached啓動後用於對memcached管理的數據和本身運行狀態相關的命令)

Command

Description

Example

get

Reads a value

get mykey

set

Set a key unconditionally

set mykey 0 60 5

add

Add a new key

add newkey 0 60 5

replace

Overwrite existing key

replace key 0 60 5

append

Append data to existing key

append key 0 60 15

prepend

Prepend data to existing key

prepend key 0 60 15

incr

Increments numerical key value by given number

incr mykey 2

decr

Decrements numerical key value by given number

decr mykey 5

delete

Deletes an existing key

delete mykey

flush_all

Invalidate specific items immediately

flush_all

Invalidate all items in n seconds

flush_all 900

stats

Prints general statistics

stats

Prints memory statistics

stats slabs

Prints memory statistics

stats malloc

Print higher level allocation statistics

stats items

 

stats detail

 

stats sizes

Resets statistics

stats reset

version

Prints server version.

version

verbosity

Increases log level

verbosity

quit

Terminate telnet session

quit

 

對查看的信息的關鍵字中英文對照表

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

當前線程數


4.使用memcached如何進行增刪改查。

(1)通過PHP程序操作用的最多。

        (1)memcache擴展操作

        (2)memcached擴展操作

        (3)直接使用socket編程來操作

(2)telnet工具操作

 

Telnet操作:

(1)登錄到telnet鏈接到memcached服務。

telnet  127.0.0.1(要鏈接服務器的IP地址)  11211

(2)增加

基本語法:add key1(鍵名)  0(佔位符) 30(保存時間) 5(值的長度)  回車後  輸入值

(3)獲取

基本語法:get key1(鍵值)

(4)修改

基本語法:set key1 0 存放時間 值大小(key1不存在增加)

或者使用:replace key1  0  存放時間  值大小(key1不存在失敗) 

(5)刪除

delete key1


使用PHP程序操作memcached服務(curd):

(1)把對應版本的php_memcache.dll文件下載保存到php的ext下。

(2)修改php.ini文件:extension=php_memcache.dll(上面的dll文件名。)

(3)重啓apache


使用直接使用socket編程來操作:

(1)別人寫好的函數源碼,直接操作。


5.memcached機制深入瞭解。

(1)使用memcached是基於CS結構。Memcached作爲服務器。

(2)基於libevent的事件處理併發機制。

(3)數據放入內存中。

(4)基於客戶端分佈式。

說明:

(1)生命週期:若把時間設爲0,則表示永不過期。

(2)重啓memcached服務,那麼裏面的數據都會銷燬。

(3)如何把session數據放入memcached中。

        (1)在php.ini中配置  在[Session]中修改:

session.save_handler = memcache(設置以何種方式存放)

session.save_path ="tcp://127.0.0.1:11211"(設置session存放路徑)

                     說明:這樣就可以將session保存到memcached中,我們不用管它如何保存,我們依然用$_SESSION[]取出該值。

        (2)或者在頁面中使用ini_set()改變當前頁面的php.ini中配置。

ini_set(“session.save_handler”,” memcache”);

ini_set(“session.save_path”,” tcp://127.0.0.1:11211”);

 

(4)memcahe數據是無狀態的,不和任何用戶綁定。       

(5)memcache安全性。將memcached放到內網。然後設置防火牆。

(6)什麼樣的數據適合放入memcached中?

          (1)變化頻繁,具有不穩定性的數據,不需要實時入庫, (比如用戶在線狀態、在線人數..)

          (2)門戶網站的新聞等,覺得頁面靜態化仍不能滿足要求,可以放入

(7)Redis(Key/value型數據庫)技術與memcache類似,將數據保存在內存中,並定時向硬盤中同步





發佈了19 篇原創文章 · 獲贊 0 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章