Memcached常用命令及使用說明
Memcached常用命令及使用說明
一、儲存命令
儲存命令的格式:
<command name> <key> <flags> <exptime> <bytes>
<data block>
引數說明如下:
<command name> | set/add/replace |
<key> | 查詢關鍵字 |
<flags> | 客戶機使用它儲存關於鍵值對的額外資訊 |
<exptime> | 該資料的存活時間,0表示永遠 |
<bytes> | 儲存位元組數 |
<data block> | 儲存的資料塊(可直接理解為key-value結構中的value) |
1、新增
(1)、無論如何都儲存的set
這個set的命令在memcached中的使用頻率極高。set命令不但可以簡單新增,如果set的key已經存在,該命令可以更新該key所對應的原來的資料,也就是實現更新的作用。
可以通過“get 鍵名”的方式檢視新增進去的記錄:
如你所知,我們也可以通過delete命令刪除掉,然後重新新增。
(2)、只有資料不存在時進行新增的add
(3)、只有資料存在時進行替換的replace
2、刪除
可以看到,刪除已存在的鍵值和不存在的記錄可以返回不同的結果。
二、讀取命令
1、get
get命令的key可以表示一個或者多個鍵,鍵之間以空格隔開
2、gets
可以看到,gets命令比普通的get命令多返回了一個數字(上圖中為13)。這個數字可以檢查資料是否發生改變。當key對應的資料改變時,這個多返回的數字也會改變。
3、cas
cas即checked and set的意思,只有當最後一個引數和gets所獲取的引數匹配時才能儲存,否則返回“EXISTS”。
三、狀態命令
1、stats
2、stats items
執行stats items,可以看到STAT items行,如果memcached儲存內容很多,那麼這裡也會列出很多的STAT items行。
3、stats cachedump slab_id limit_num
我們執行stats cachedump 1 0 命令效果如下:
這裡slab_id為1,是由2中的stats items返回的結果(STAT items後面的數字)決定的;limit_num看起來好像是返回多少條記錄,猜的一點不錯, 不過0表示顯示出所有記錄,而n(n>0)就表示顯示n條記錄,如果n超過該slab下的所有記錄,則結果和0返回的結果一致。
通過stats items、stats cachedump slab_id limit_num配合get命令可以遍歷memcached的記錄。
4、其他stats命令
如stats slabs,stats sizes,stats reset等等使用也比較常見。
四、其他常見命令
1、append
在現有的快取資料後新增快取資料,如現有快取的key不存在伺服器響應為NOT_STORED。
2、prepend
和append非常類似,但它的作用是在現有的快取資料前新增快取資料。
3、flush_all
該命令有一個可選的數字引數。它總是執行成功,伺服器會傳送 “OK\r\n” 迴應。它的效果是使已經存在的專案立即失效(預設),或在指定的時間後。此後執行取回命令,將不會有任何內容返回(除非重新儲存同樣的鍵名)。 flush_all 實際上沒有立即釋放專案所佔用的記憶體,而是在隨後陸續有新的專案被儲存時執行(這是由memcached的懶惰檢測和刪除機制決定的)。
flush_all 效果是它導致所有更新時間早於 flush_all 所設定時間的專案,在被執行取回命令時命令被忽略。
4、其他命令
memcached還有很多命令,比如對於儲存為數字型的可以通過incr/decr命令進行增減操作等等,這裡只列出開發和運維中經常使用的命令,其他的不再一一舉例說明。
相關文章
- goldengate常用命令使用說明Go
- SVN常用命令說明
- linux目錄結構說明及常用命令Linux
- Kibana安裝及使用說明
- vue-cli@3.0 使用及配置說明Vue
- Object-c Block的使用及說明ObjectBloC
- 使用說明
- ELK 之 Kibana 安裝及使用說明
- Qtum智慧合約使用方法及說明QT
- C++檔案說明及使用方法C++
- Percona 5.6 thread pool說明及使用thread
- mysql常用引數使用說明及查詢MySql
- 前端meta標籤內容定義及使用說明,meta詳細說明,meta標籤使用前端
- WebApiClientCore使用說明WebAPIclient
- QLExpress使用說明Express
- postman 使用說明Postman
- Sqlite使用說明SQLite
- certbot 使用說明
- cmake使用說明
- PHP CS Fixer 的使用及 PHP Storm 配置說明PHPORM
- 資料泵的TRANSFORM引數說明及使用ORM
- 容器技術之Docker常用命令說明Docker
- 10gR2--EMCA常用命令說明:
- 實驗樓原型設計-3-系統驗證及常用命令說明原型
- oracle asm自動儲存使用及管理說明(下)OracleASM
- oracle asm自動儲存使用及管理說明(上)OracleASM
- mysql資料庫show的常用命令說明MySql資料庫
- lZ:10gR2--EMCA常用命令說明:
- JavaScript介紹及說明(01)JavaScript
- PB及ASA的打包說明
- JPA EntityManager使用說明
- wc 命令使用說明
- oracle orapwd使用說明Oracle
- Jupiter 使用說明
- BaseRecyclerViewAdapterHelper使用說明ViewAPT
- HSQL DB 使用說明SQL
- FreeSql 使用說明SQL
- memcached安裝及.NET中的Memcached.ClientLibrary使用詳解client