Memcached 學習筆記二 儲存命令

2021-09-21 14:32:26 字數 3518 閱讀 2878

memcached set 命令用於將 value(資料)儲存在指定的key(鍵)中。

如果 set 的key 已經存在,該命令可以更新該 key 所對應的原來的資料,也就是實現更新的作用。

語法:set 命令基本語法格式如下:

set key flags exptime bytes [noreply] 

value

引數說明如下: 例項

以下例項中我們設定:

set w3cschool 0 900 9

memcached

stored

get w3cschool

value w3cschool 0 9

memcached

end

輸出

如果資料設定成功,則輸出:

stored
輸出資訊說明:

memcached add 命令用於將 value(資料值)儲存在指定的 key(鍵)中。

如果 add 的key 已經存在,則不會更新資料,之前的值將仍然保持相同,並且您將獲得響應 not_stored。

語法:add 命令的基本語法格式如下:

add key flags exptime bytes [noreply]

value

引數說明如下: 例項

以下例項中我們設定:

add new_key 0 900 10

data_value

stored

get new_key

value new_key 0 10

data_value

end

輸出

如果資料新增成功,則輸出:

stored
輸出資訊說明:

memcached replace 命令用於替換已存在的 key(鍵)的 value(資料值)

如果 key 不存在,則替換失敗,並且您將獲得響應 not_stored。

語法:replace 命令的基本語法格式如下:

replace key flags exptime bytes [noreply]

value

引數說明如下: 例項

以下例項中我們設定:

以下例項中我們使用的鍵位 『mykey』 並儲存對應的值 data_value。執行後我們替換相同的 key 的值為 「some_onther_value」。

add mykey 0 900 10

data_value

stored

get mykey

value mykey 0 10

data_value

endreplace mykey 0 900 16

some_other_value

get mykey

value mykey 0 16

some_other_value

end

輸出

如果資料新增成功,則輸出:

stored
輸出資訊說明:

語法:value

引數說明如下: 例項

例項如下:

set w3cschool 0 900 9

memcached

stored

get w3cschool

value w3cschool 0 14

memcached

endredis

stored

get w3cschool

value w3cschool 0 14

memcachedredis

end

輸出

如果資料新增成功,則輸出:

stored
輸出資訊說明:

memcached prepend 命令用於向已存在 key(鍵)的vlaue(資料值)前面追加資料。

語法:prepend 命令的基本語法格式如下:

prepend key flags exptime bytes [noreply]

value

引數說明如下: 例項

例項如下:

set w3cschool 0 900 9

memcached

stored

get w3cschool

value w3cschool 0 14

memcached

endprepend w3cschool 0 900 5

redis

stored

get w3cschool

value w3cschool 0 14

redismemcached

end

輸出

如果資料新增成功,則輸出:

stored
輸出資訊說明:

memcached cas(check-and-set 或 compare-and-swap)命令用於執行乙個「檢查並設定」的操作

它僅在當前客戶端最後一次取值後,該 key 對應的值沒有被其他客戶端修改的情況下,才能夠將值寫入。

檢查時通過 cas_token 引數進行的,這個引數是 memcached 指定給已經存在的元素的乙個唯一的64位值。

語法:cas 命令的基本語法格式如下:

cas key flags exptime bytes unique_cas_token [noreply]

value

引數說明如下: 例項

要在 memcached 上使用 cas 命令,你需要從 memcached 伺服器通過 gets 命令獲取令牌(token)。

gets 命令的功能類似於基本的 get 命令。兩個命令之間的差異在於,gets 返回的資訊稍微多一些:64位的整型值非常像鍵值對的 「版本」標識。

例項步驟如下:

cas tp 0 900 9

error <− 缺少 token

cas tp 0 900 9 2

memcached

not_found <− 鍵 tp 不存在

set tp 0 900 9

memcached

stored

gets tp

value tp 0 9 1

memcached

endcas tp 0 900 5 1

redis

stored

get tp

value tp 0 5

redis

end

輸出

如果資料新增成功,則輸出:

stored
輸出資訊說明:

memcached 學習筆記

鳴謝 菜鳥教程 memcached 是一套高效能的 分布式記憶體物件快取系統。注意,memcache不是資料庫。1.1 特點 a.協議簡單 使用文字協議和二進位制協議,協議簡單,效能高效.b.基於 libevent 的事件處理 libevent 是個程式庫,它將 linux 的 epoll bsd ...

Memcached 學習筆記(一)

memcached 學習筆記 一 什麼是memcached?memcashed專案由dango interactive公司開發,最初為了加速livejournal訪問速度而開發,後來成為廣泛應用的開源專案。它是基於記憶體工作的鍵 值儲存型的資料庫。操作簡單,但是能解決很多問題。在過去的幾年,廣泛用於...

Memcached學習筆記02

memcached set命令用於將value 資料值 儲存在指定的key 鍵 中。如果set的key已經存在,該命令可以更新該key所對應的原來的資料,也就是實現更新的作用。語法 set命令的基本語法格式如下 set key flags exptime bytes noreply value引數說...