memcache快取伺服器

2021-09-12 05:45:38 字數 3579 閱讀 4224

memcached是乙個自由開源的,高效能,分布式記憶體物件快取系統。

memcached是以livejournal旗下danga interactive公司的brad fitzpatric為首開發的一款軟體。現在已成為mixi、hatena、facebook、vox、livejournal等眾多服務中提高web應用擴充套件性的重要因素。

memcached是一種基於記憶體的key-value儲存,用來儲存小塊的任意資料(字串、物件)。這些資料可以是資料庫呼叫、api呼叫或者是頁面渲染的結果

安裝memcache使用telnet遠端的

yum -y install memcached telnet
開啟memcache服務

方式一:

systemctl start memcached
方式二:

memcached -u memcached -p 11211 -m 64 -c 1024 &
登入

11211是埠號

telnet 127.0.0.1 11211

trying 127.0.0.1...

connected to 127.0.0.1.

escape character is '^]'.

顯示這個是登陸成功

資料統計
stats
引數名

作用pid

memcache伺服器的程序id

uptime

伺服器已經執行的秒數

time

伺服器當前的unix時間戳

version

memcache版本

pointer_size

當前作業系統指標大小,反映了作業系統的位數,64意味著memcache伺服器是64位的

rusage_user

程序的累計使用者時間

rusage_system

程序的累計系統時間

curr_connections

當前開啟著的連線數

total_connections

當伺服器啟動以後曾經開啟過的連線數

connection_structures

伺服器分配的連線構造數

cmd_get

get命令總請求次數

cmd_set

set命令總請求次數

cmd_flush

flush_all命令總請求次數

get_hits

總命中次數,重要,快取最重要的引數就是快取命中率,以get_hits / (get_hits + get_misses)表示,比如這個快取命中率就是99.2%

get_misses

總未命中次數

auth_cmds

認證命令的處理次數

auth_errors

認證失敗的處理次數

bytes_read

總讀取的位元組數

bytes_written

總傳送的位元組數

limit_maxbytes

分配給memcache的記憶體大小(單位為位元組)

accepting_conns

是否已經達到連線的最大值,1表示達到,0表示未達到

listen_disabled_num

統計當前伺服器連線數曾經達到最大連線的次數,這個次數應該為0或者接近於0,如果這個數字不斷增長, 就要小心我們的服務了

threads

當前memcache匯流排程數,由於memcache的執行緒是基於事件驅動機制的,因此不會乙個執行緒對應乙個使用者請求

bytes

當前伺服器儲存的items總位元組數

current_items

當前伺服器儲存的items總數量

total_items

自伺服器啟動以後儲存的items總數量

stats items
stats slabs
引數名

作用chunk_size

當前slab每個chunk的大小,單位為位元組

chunks_per_page

每個page可以存放的chunk數目,由於每個page固定為1m即10241024位元組,所以這個值就是(10241024/chunk_size)

total_pages

分配給當前slab的page總數

total_chunks

當前slab最多能夠存放的chunk數,這個值是total_pages*chunks_per_page

used_chunks

已經被分配給儲存物件的chunks數目

free_chunks

曾經被使用過但是因為過期而被**的chunk數

free_chunks_end

新分配但還沒有被使用的chunk數,這個值不為0則說明當前slab從來沒有出現過容量不夠的時候

mem_requested

當前slab中被請求用來儲存資料的記憶體空間位元組總數,(total_chunks*chunk_size)-mem_requested表示有多少內存在當前slab中是被閒置的,這包括未用的slab+使用的slab中浪費的記憶體

get_hits

當前slab中命中的get請求數

cmd_set

當前slab中接收的所有set命令請求數

delete_hits

當前slab中命中的delete請求數

incr_hits

當前slab中命中的incr請求數

decr_hits

當前slab中命中的decr請求數

cas_hits

當前slab中命中的cas請求數

cas_badval

當前slab中命中但是更新失敗的cas請求數

stats sizes
add新增鍵值對,name鍵的名字,數字零是備註,數字九是過期時間,數字三是申請的位元組,noreply是不顯示輸出

add name 0 9 3 noreply  //新增

tomset name 0 9 3   //set是新增也是替換

tomreplace name 0 900 3   //replace替換已存在鍵的值

tomjerry

prepend name 0 900 5 //prepend向已存在的鍵前面追加值

jack

gets name //gets獲取鍵的令牌以及值

get name //get獲取值

cas name 0 900 5 15 //cas檢查並執行操作

redis

delete name //delete刪除存在的鍵,清空資料

incr age 5 //incr物件自增(只對數值管用)

decr age 3 //decr物件自減(只對數值管用)

flush_all 10   //清空資料庫 數字10是定義多長時間清空(10是10秒)

memcache快取伺服器01

configure make make install2 啟動 memcache d m 2048 u root l 127.0.0.1 p 11211 m 設定記憶體大小 p 設定埠 3 停止 pkill memcached檢視memcache服務狀態 查埠 netstat tunpl grep ...

memcache伺服器監控

最新的memcache pecl中,新增了乙個memcache.php,這個php檔案可以用來方便的檢視memcache的狀況,介面上與apc自帶的apc.php風格一致。1 設定使用者名稱和密碼 define admin username memcache admin username defin...

memcache 伺服器安裝

在linux 編譯,需要gcc,make,cmake,autoconf,libtool 等工具,需提前安裝好。memcached的安裝包括 1 服務端的安裝 2 客戶端的安裝 一 伺服器端安裝 方法一 memcached 依賴於libevent 庫,因此我們需要先安裝libevent.假設將原始碼放...