memcache 協議 Golang實現

2022-08-19 01:54:12 字數 1212 閱讀 7850

客戶端傳送了乙個不存在的命令
client_error\r\n
客戶端傳送了乙個不符合協議的命令
server_error\r\n
服務的錯誤
1.[noreply]\r\n
2.cas [noreply]\r\n
set

用於將 value(資料值) 儲存在指定的 key(鍵) 中

如果set的key已經存在,該命令可以更新該key所對應的原來的資料

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

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

replace
用於向已存在 key(鍵) 的 value(資料值) 後面追加資料 

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

用於向已存在 key(鍵) 的 value(資料值) 後面追加資料 

stored:儲存成功後輸出

prepend
用於向已存在 key(鍵) 的 value(資料值) 前面追加資料
cas
命令用於執行乙個"檢查並設定"的操作它僅在當前客戶端最後一次取值後,該key 對應的值沒有被其他客戶端修改的情況下, 才能夠將值寫入。

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

首先需要從 memcached 服務商通過 gets 命令獲取令牌(token),gets 返回64位的整型值非常像名稱/值對的 "版本" 識別符號

Sublime Text3中搭建Golang環境

必備軟體 git sublime text3 golang 請參見 本文主要配置一下golang環境到外掛程式。一 安裝gosublime。1 進入sublime,通過ctrl shift p進入包管理,輸入pci 首字母 選擇package contrl intall package,如圖 2 回...

leetcode之55跳躍遊戲Golang

給定乙個非負整數陣列,你最初位於陣列的第乙個位置。陣列中的每個元素代表你在該位置可以跳躍的最大長度。判斷你是否能夠到達最後乙個位置。示例 1 輸入 2,3,1,1,4 輸出 true 解釋 我們可以先跳 1 步,從位置 0 到達 位置 1,然後再從位置 1 跳 3 步到達最後乙個位置。示例 2 輸入...

leetcode之75顏色分類Golang

給定乙個包含紅色 白色和藍色,一共 n 個元素的陣列,原地對它們進行排序,使得相同顏色的元素相鄰,並按照紅色 白色 藍色順序排列。此題中,我們使用整數 0 1 和 2 分別表示紅色 白色和藍色。注意 不能使用 庫中的排序函式來解決這道題。示例 輸入 2,0,2,1,1,0 輸出 0,0,1,1,2,...