Memcached总结
生活随笔
收集整理的這篇文章主要介紹了
Memcached总结
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、介紹
Memcached是一個自由開源的,高性能,分布式內存對象緩存系統。
Memcached是一種基于內存的key-value存儲,用來存儲小塊的任意數據(字符串、對象)。
目的:通過緩存數據庫查詢結果,減少數據庫訪問次數,以提高動態Web應用的速度、提高可擴展性。
二、命令
(1)存儲命令
#(1)Set #set 命令用于將 value(數據值) 存儲在指定的 key(鍵) 中 #如果set的key已經存在,該命令可以更新該key所對應的原來的數據,也就是實現更新的作用 set key flags exptime bytes [noreply] value #輸出 STORED:保存成功后輸出。 ERROR:在保存失敗后輸出。#(2)Add #add 命令用于將 value(數據值) 存儲在指定的 key(鍵) 中 #如果 add 的 key 已經存在,則不會更新數據(過期的 key 會更新),之前的值將仍然保持相同,并且您將獲得響應 NOT_STORED add key flags exptime bytes [noreply] value#輸出 STORED:保存成功后輸出。 NOT_STORED :在保存失敗后輸出。#(3)Replace #replace 命令用于替換已存在的 key(鍵) 的 value(數據值) #如果 key 不存在,則替換失敗,并且您將獲得響應 NOT_STORED replace key flags exptime bytes [noreply] value#輸出 STORED:保存成功后輸出。 NOT_STORED:執行替換失敗后輸出。#(4)Append #append 命令用于向已存在 key(鍵) 的 value(數據值) 后面追加數據 append key flags exptime appendBytes [noreply] value#輸出 STORED:保存成功后輸出。 NOT_STORED:該鍵在 Memcached 上不存在。 CLIENT_ERROR:執行錯誤。#(4)Prepend #prepend 命令用于向已存在 key(鍵) 的 value(數據值) 前面追加數據 prepend key flags exptime bytes [noreply] value#輸出 STORED:保存成功后輸出。 NOT_STORED:該鍵在 Memcached 上不存在。 CLIENT_ERROR:執行錯誤。#(5)CAS #CAS(Check-And-Set 或 Compare-And-Swap) 命令用于執行一個"檢查并設置"的操作 #它僅在當前客戶端最后一次取值后,該key 對應的值沒有被其他客戶端修改的情況下, 才能夠將值寫入 #檢查是通過cas_token(gets指令獲取)參數進行的, 這個參數是Memcach指定給已經存在的元素的一個唯一的64位值 cas key flags exptime bytes unique_cas_token [noreply] value#輸出 STORED:保存成功后輸出。 ERROR:保存出錯或語法錯誤。 EXISTS:在最后一次取值后另外一個用戶也在更新該數據。 NOT_FOUND:Memcached 服務上不存在該鍵值。(2)查找命令
#(1)Get #get 命令獲取存儲在 key(鍵) 中的 value(數據值) ,如果 key 不存在,則返回空 get key1 [key2 key3 ...]#輸出 VALUE key flags bytes value END#(2)Gets #gets 命令獲取帶有 CAS 令牌存 的 value(數據值) ,如果 key 不存在,則返回空 gets key1 [key2 key3 ...]#輸出 VALUE key flags bytes cas value END#(3)Delete #delete 命令用于刪除已存在的 key(鍵) delete key [noreply]#輸出 DELETED:刪除成功。 ERROR:語法錯誤或刪除失敗。 NOT_FOUND:key 不存在。#(4)Incr Decr #incr 與 decr 命令用于對已存在的 key(鍵) 的數字值進行自增或自減操作 #incr 與 decr 命令操作的數據必須是十進制的32位無符號整數 #如果 key 不存在返回 NOT_FOUND,如果鍵的值不為數字,則返回 CLIENT_ERROR,其他錯誤返回 ERROR incr key increment_value decr key decrement_value#輸出 NOT_FOUND:key 不存在。 CLIENT_ERROR:自增值不是對象。 ERROR其他錯誤,如語法錯誤等。(3)統計命令
#(1)stats #stats 命令用于返回統計信息例如 PID(進程號)、版本號、連接數等 stats#輸出 STAT pid xxx ... Endpid: memcache服務器進程ID uptime:服務器已運行秒數 time:服務器當前Unix時間戳 version:memcache版本 pointer_size:操作系統指針大小 rusage_user:進程累計用戶時間 rusage_system:進程累計系統時間 curr_connections:當前連接數量 total_connections:Memcached運行以來連接總數 connection_structures:Memcached分配的連接結構數量 cmd_get:get命令請求次數 cmd_set:set命令請求次數 cmd_flush:flush命令請求次數 get_hits:get命令命中次數 get_misses:get命令未命中次數 delete_misses:delete命令未命中次數 delete_hits:delete命令命中次數 incr_misses:incr命令未命中次數 incr_hits:incr命令命中次數 decr_misses:decr命令未命中次數 decr_hits:decr命令命中次數 cas_misses:cas命令未命中次數 cas_hits:cas命令命中次數 cas_badval:使用擦拭次數 auth_cmds:認證命令處理的次數 auth_errors:認證失敗數目 bytes_read:讀取總字節數 bytes_written:發送總字節數 limit_maxbytes:分配的內存總大小(字節) accepting_conns:服務器是否達到過最大連接(0/1) listen_disabled_num:失效的監聽數 threads:當前線程數 conn_yields:連接操作主動放棄數目 bytes:當前存儲占用的字節數 curr_items:當前存儲的數據總數 total_items:啟動以來存儲的數據總數 evictions:LRU釋放的對象數目 reclaimed:已過期的數據條目來存儲新數據的數目 #(2)stats #stats items 命令用于顯示各個 slab 中 item 的數目和存儲時長(最后一次訪問距離現在的秒數) stats items#輸出: STAT items:slab_id:number xx STAT items:slab_id:age xx STAT items:slab_id:evicted xx STAT items:slab_id:evicted_nonzero xx STAT items:slab_id:evicted_time xx STAT items:slab_id:outofmemory xx STAT items:slab_id:tailrepairs xx STAT items:slab_id:reclaimed xx STAT items:slab_id:expired_unfetched xx STAT items:slab_id:evicted_unfetched xx ... slab_id_n ... END #(3)stats slabs #stats slabs 命令用于顯示各個slab的信息,包括chunk的大小、數目、使用情況等 stats slabs#輸出 STAT slab_id:chunk_size xx STAT slab_id:chunks_per_page xx STAT slab_id:total_pages xx STAT slab_id:total_chunks xx STAT slab_id:used_chunks xx STAT slab_id:free_chunks xx STAT slab_id:free_chunks_end xx STAT slab_id:mem_requested xx STAT slab_id:get_hits xx STAT slab_id:cmd_set xx STAT slab_id:delete_hits xx STAT slab_id:incr_hits xx STAT slab_id:decr_hits xx STAT slab_id:cas_hits xx STAT slab_id:cas_badval xx STAT slab_id:touch_hits xx ... slab_id_n ... STAT active_slabs xx STAT total_malloced xx #(4)stats sizes #stats sizes 命令用于顯示所有item的大小和個數。 #該信息返回兩列,第一列是 item 的大小,第二列是 item 的個數。 stats sizesSTAT item_size item_count END #(5)flush_all # flush_all 命令用于清理緩存中的所有 key=>value(鍵=>值) 對。 #該命令提供了一個可選參數 time,用于在制定的時間后執行清理緩存操作。 flush_all [time] [noreply] #(6)stats cachedump #slab id的緩存轉儲,并限制要轉儲的最大鍵數。作為遍歷單個slab的所有key stats cachedump slab_id key_size總結
以上是生活随笔為你收集整理的Memcached总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HighChart模拟点击series的
- 下一篇: Tailor Brands vs Wix