Memcached命令-存儲命令-查找命令-清理命令
Memcached set 存儲命令
Memcached set 命令用於將 value(數據值) 存儲在指定的 key(鍵) 中。
如果set的key已經存在,該命令可以更新該key所對應的原來的數據,也就是實現更新的作用。
語法:
set 命令的基本語法格式如下:
set key flags exptime bytes [noreply]
value
參數說明如下:
- key:鍵值 key-value 結構中的 key,用於查找緩存值。
- flags:可以包括鍵值對的整型參數,客戶機使用它存儲關於鍵值對的額外信息 。
- exptime:在緩存中保存鍵值對的時間長度(以秒為單位,0 表示永遠)
- bytes:在緩存中存儲的字節數
- noreply(可選): 該參數告知服務器不需要返回數據
- value:存儲的值(始終位於第二行)(可直接理解為key-value結構中的value)
實例
以下實例中我們設置:
- key → runoob
- flag → 0
- exptime → 900 (以秒為單位)
- bytes → 9 (數據存儲的字節數)
- value → memcached
set wenhy0 900 9
memcached
STORED
get wenhy
VALUE wenhy 0 9
memcached
END
輸出
如果數據設置成功,則輸出:
STORED
輸出信息說明:
- STORED
- ERROR:在保持失敗後輸出。
Memcached add 命令
Memcached add 命令用於將 value(數據值) 存儲在指定的 key(鍵) 中。
如果 add 的 key 已經存在,則不會更新數據,之前的值將仍然保持相同,並且您將獲得響應 NOT_STORED。
語法:
add 命令的基本語法格式如下:
add key flags exptime bytes [noreply]
value
參數說明如下:
- key:鍵值 key-value 結構中的 key,用於查找緩存值。
- flags:可以包括鍵值對的整型參數,客戶機使用它存儲關於鍵值對的額外信息 。
- exptime
- bytes:在緩存中存儲的字節數
- noreply(可選): 該參數告知服務器不需要返回數據
- value:存儲的值(始終位於第二行)(可直接理解為key-value結構中的value)
實例
以下實例中我們設置:
- key → new_key
- flag → 0
- exptime → 900 (以秒為單位)
- bytes → 10 (數據存儲的字節數)
- value → data_value
add new_key 0 900 10
data_value
STORED
get new_key
VALUE new_key 0 10
data_value
END
輸出
如果數據添加成功,則輸出:
STORED
輸出信息說明:
- STORED:保存成功後輸出。
- NOT_STORED :在保持失敗後輸出。
Memcached replace 命令
Memcached replace 命令用於替換已存在的 key(鍵) 的 value(數據值)。
如果 key 不存在,則替換失敗,並且您將獲得響應 NOT_STORED。
語法:
replace 命令的基本語法格式如下:
replace key flags exptime bytes [noreply]
value
參數說明如下:
- key:鍵值 key-value 結構中的 key,用於查找緩存值。
- flags:可以包括鍵值對的整型參數,客戶機使用它存儲關於鍵值對的額外信息 。
- exptime:在緩存中保存鍵值對的時間長度(以秒為單位,0 表示永遠)
- bytes:在緩存中存儲的字節數
- noreply(可選): 該參數告知服務器不需要返回數據
- value:存儲的值(始終位於第二行)(可直接理解為key-value結構中的value)
實例
以下實例中我們設置:
- key → mykey
- flag → 0
- exptime → 900 (以秒為單位)
- bytes → 10 (數據存儲的字節數)
- value → data_value
以下實例中我們使用的鍵位 ‘mykey‘ 並存儲對應的值 data_value。執行後我們替換相同的 key 的值為 ‘some_other_value‘。
add mykey 0 900 10
data_value
STORED
get mykey
VALUE mykey 0 10
data_value
END
replace mykey 0 900 16
some_other_value
get mykey
VALUE mykey 0 16
some_other_value
END
輸出
如果數據添加成功,則輸出:
STORED
輸出信息說明:
- STORED:保存成功後輸出。
- NOT_STORED:執行替換失敗後輸出。
Memcached append 命令
Memcached append 命令用於向已存在 key(鍵) 的 value(數據值) 後面追加數據 。
語法:
append 命令的基本語法格式如下:
append key flags exptime bytes [noreply]
value
參數說明如下:
- key:鍵值 key-value 結構中的 key,用於查找緩存值。
- flags:可以包括鍵值對的整型參數,客戶機使用它存儲關於鍵值對的額外信息 。
- exptime:在緩存中保存鍵值對的時間長度(以秒為單位,0 表示永遠)
- bytes:在緩存中存儲的字節數
- noreply(可選): 該參數告知服務器不需要返回數據
- value:存儲的值(始終位於第二行)(可直接理解為key-value結構中的value)
實例
實例如下:
- 首先我們在 Memcached 中存儲一個鍵 runoob,其值為 memcached。
- 然後,我們使用 get 命令檢索該值。
- 然後,我們使用 append 命令在鍵為 runoob 的值後面追加 "redis"。
- 最後,我們再使用 get 命令檢索該值。
set wenhy 0 900 9
memcached
STORED
get wenhy
VALUE wenhy 0 9
memcached
END
append wenhy 0 900 5
redis
STORED
get wenhy
VALUE wenhy 0 13
memcachedredis
END
輸出
如果數據添加成功,則輸出:
STORED
輸出信息說明:
- STORED:保存成功後輸出。
- NOT_STORED:該鍵在 Memcached 上不存在。
- CLIENT_ERROR:執行錯誤。
Memcached prepend 命令
Memcached prepend 命令用於向已存在 key(鍵) 的 value(數據值) 前面追加數據 。
語法:
prepend 命令的基本語法格式如下:
prepend key flags exptime bytes [noreply]
value
參數說明如下:
- key:鍵值 key-value 結構中的 key,用於查找緩存值。
- flags:可以包括鍵值對的整型參數,客戶機使用它存儲關於鍵值對的額外信息 。
- exptime:在緩存中保存鍵值對的時間長度(以秒為單位,0 表示永遠)
- bytes:在緩存中存儲的字節數
- noreply(可選): 該參數告知服務器不需要返回數據
- value:存儲的值(始終位於第二行)(可直接理解為key-value結構中的value)
實例
實例如下:
- 首先我們在 Memcached 中存儲一個鍵 runoob,其值為 memcached。
- 然後,我們使用 get 命令檢索該值。
- 然後,我們使用 prepend 命令在鍵為 runoob 的值後面追加 "redis"。
- 最後,我們再使用 get 命令檢索該值。
set wenhy 0 900 9
memcached
STORED
get wenhy
VALUE wenhy 0 14
memcached
END
prepend wenhy 0 900 5
redis
STORED
get wenhy
VALUE wenhy 0 14
redismemcached
END
輸出
如果數據添加成功,則輸出:
STORED
輸出信息說明:
- STORED:保存成功後輸出。
- NOT_STORED:該鍵在 Memcached 上不存在。
- CLIENT_ERROR:執行錯誤。
Memcached get 查找命令
Memcached get 命令獲取存儲在 key(鍵) 中的 value(數據值) ,如果 key 不存在,則返回空。
語法:
get 命令的基本語法格式如下:
get key
多個 key 使用空格隔開,如下:
get key1 key2 key3
參數說明如下:
- key:鍵值 key-value 結構中的 key,用於查找緩存值。
實例
在以下實例中,我們使用 runoob 作為 key,過期時間設置為 900 秒。
set wenhy 0 900 9
memcached
STORED
get wenhy
VALUE wenhy 0 9
memcached
END
Memcached delete 命令
Memcached delete 命令用於刪除已存在的 key(鍵)。
語法:
delete 命令的基本語法格式如下:
delete key [noreply]
參數說明如下:
- key:鍵值 key-value 結構中的 key,用於查找緩存值。
- noreply(可選): 該參數告知服務器不需要返回數據
實例
在以下實例中,我們使用 runoob 作為 key,過期時間設置為 900 秒。之後我們使用 delete 命令刪除該 key。
set wenhy 0 900 9
memcached
STORED
get wenhy
VALUE wenhy 0 9
memcached
END
delete wenhy
DELETED
get wenhy
END
delete wenhy
NOT_FOUND
輸出
輸出信息說明:
- DELETED:刪除成功。
- ERROR:語法錯誤或刪除失敗。
- NOT_FOUND:key 不存在。
Memcached incr 與 decr 命令
Memcached incr 與 decr 命令用於對已存在的 key(鍵) 的數字值進行自增或自減操作。
incr 與 decr 命令操作的數據必須是十進制的32位無符號整數。
如果 key 不存在返回 NOT_FOUND,如果鍵的值不為數字,則返回 CLIENT_ERROR,其他錯誤返回 ERROR。
incr 命令
語法:
incr 命令的基本語法格式如下:
incr key increment_value
參數說明如下:
- key:鍵值 key-value 結構中的 key,用於查找緩存值。
- increment_value: 增加的數值。
實例
在以下實例中,我們使用 visitors 作為 key,初始值為 10,之後進行加 5 操作。
set visitors 0 900 2
10
STORED
get visitors
VALUE visitors 0 2
10
END
incr visitors 5
15
get visitors
VALUE visitors 0 2
15
END
輸出
輸出信息說明:
- NOT_FOUND:key 不存在。
- CLIENT_ERROR:自增值不是對象。
- ERROR其他錯誤,如語法錯誤等。
decr 命令
decr 命令的基本語法格式如下:
decr key decrement_value
參數說明如下:
- key:鍵值 key-value 結構中的 key,用於查找緩存值。
- decrement_value: 減少的數值。
實例
set visitors 0 900 2
10
STORED
get visitors
VALUE visitors 0 2
10
END
decr visitors 5
5
get visitors
VALUE visitors 0 1
5
END
在以下實例中,我們使用 visitors 作為 key,初始值為 10,之後進行減 5 操作。
輸出
輸出信息說明:
- NOT_FOUND:key 不存在。
- CLIENT_ERROR:自增值不是對象。
- ERROR其他錯誤,如語法錯誤等。
Memcached flush_all 清理命令
Memcached flush_all 命令用於用於清理緩存中的所有 key=>value(鍵=>值) 對。
該命令提供了一個可選參數 time,用於在制定的時間後執行清理緩存操作。
語法:
flush_all 命令的基本語法格式如下:
flush_all [time] [noreply]
實例
清理緩存:
set runoob 0 900 9
memcached
STORED
get runoob
VALUE runoob 0 9
memcached
END
flush_all
OK
get runoob
END
Memcached命令-存儲命令-查找命令-清理命令