Memcachedコマンド操作...login
Memcachedコマンド操作マニュアル
著者:php.cn  更新時間:2022-04-13 17:53:40

Memcached CAS コマンド


Memcached CAS (Check-And-Set または Compare-And-Swap) コマンドは、「チェック アンド セット」操作を実行するために使用されます

最後のキーの後にキーに対応する値が取得できなかった場合にのみ使用されます現在のクライアントが値を取得した時刻。値は他のクライアントによって変更された場合にのみ書き込めます。

チェックは、Memcach が既存の要素に割り当てる一意の 64 ビット値である cas_token パラメーターを介して実行されます。

構文:

CAS コマンドの基本構文形式は次のとおりです:

cas key flags exptime bytes unique_cas_token [noreply]
value

パラメータの説明は次のとおりです:

  • key: キー値 キーと値の構造内のキーは、検索に使用されます。キャッシュ値。

  • flags: キーと値のペアを含めることができる整数パラメーター。クライアントがキーと値のペアに関する追加情報を保存するために使用します。 。

  • exptime: キーと値のペアをキャッシュに保持する期間 (秒単位、0 は永久を意味します)

  • bytes: キャッシュに格納されているバイト数

  • unique_cas_token gets コマンドを通じて取得される一意の 64 ビット値。

  • noreply (オプション): このパラメータは、データを返す必要がないことをサーバーに伝えます

  • value: 格納されている値 (常に 2 行目にあります) (キーと値の構造の値)

Instance

Memcached で CAS コマンドを使用するには、gets コマンドを通じて Memcached サービス プロバイダーからトークンを取得する必要があります。

gets コマンドは、基本的な get コマンドと同様に機能します。 2 つのコマンドの違いは、get の方がわずかに多くの情報 (名前と値のペアの「バージョン」識別子によく似た 64 ビット整数値) を返すことです。

手順の例は次のとおりです:

  • 固有トークンが設定されていない場合、CASコマンド実行エラーが発生します。

  • キー key が存在しない場合、実行は失敗します。

  • キーと値のペアを追加します。

  • gets コマンドを使用して一意のトークンを取得します。

  • casコマンドを使用してデータを更新します

  • getコマンドを使用してデータが更新されたかどうかを確認します

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
END

cas tp 0 900 5 1
redis
STORED

get tp
VALUE tp 0 5
redis
END

出力

データが正常に追加された場合、出力は次のようになります:

STORED

出力情報の説明:

  • STORED : 保存に成功した後に出力されます。

  • エラー: 保存エラーまたは構文エラー。

  • EXISTS: 別のユーザーも最後の値の後のデータを更新しています。

  • NOT_FOUND: キー値が Memcached サービスに存在しません。

PHP中国語ウェブサイト