TairString (exString) は、バージョン番号を含む文字列です。 このトピックでは、TairStringデータ構造でサポートされているコマンドについて説明します。
概要
ネイティブRedis文字列は、キーと値のペア構造を使用します。 TairStringsには、楽観的なロックなどのシナリオをサポートするキー、値、バージョン番号が含まれています。 ネイティブのRedis文字列では、INCRBYコマンドとINCRBYFLOATコマンドを使用して文字列値を増減します。 TairStringsでは、これらのコマンドによって返される出力の範囲を制限できます。 出力が指定された範囲外の場合、エラーメッセージが返されます。
主な特徴
このモジュールはオープンソースです。 詳細については、『GitHub』をご参照ください。
前提条件
インスタンスは、マイナーバージョンが1.2.3以降のTair DRAMベースまたは永続メモリ最適化インスタンスです。
説明 最新のマイナーバージョンは、より多くの機能とより高い安定性を提供します。 インスタンスを最新のマイナーバージョンに更新することを推奨します。 詳細については、「インスタンスのマイナーバージョンの更新」をご参照ください。 お使いのインスタンスがクラスターインスタンスまたは読み書き分離インスタンスの場合、すべてのコマンドを期待どおりに実行できるように、インスタンスのプロキシノードを最新のマイナーバージョンに更新することを推奨します。
注意事項
管理するTairStringデータは、Tairインスタンスに保存されます。
説明 TairインスタンスでネイティブのRedis文字列とTairStringsを同時に管理できます。 ただし、ネイティブのRedis文字列は、このトピックで説明するコマンドをサポートしていません。
サポートされるコマンド
表 1. TairStringコマンド
コマンド | 構文 | 説明 |
EXSET | EXSETキー値 [EX | PX | EXAT | PXAT時間] [NX | XX] [VER | ABSバージョン] [KEPTTL]
| キーが存在しない場合は、TairStringキーを作成し、キーに値を書き込みます。 キーが既に存在する場合、コマンドはキーの値を上書きします。 |
EXGET | EXGETキー
| TairStringキーの値とバージョン番号を取得します。 |
EXSETVER | EXSETVERキーバージョン
| TairStringキーのバージョン番号を指定します。 |
EXINCRBY | EXINCRBYキーnum [EX | PX | EXAT | PXAT時間] [NX | XX] [VER | ABSバージョン] [MIN minval] [MAX maxval] [KEPTTL]
| TairStringキーの値を増減します。 numパラメーターの値は、LONG型である必要があります。 |
EXINCRBYFLOAT | EXINCRBYFLOATキーnum [EX | PX | EXAT | PXAT時間] [NX | XX] [VER | ABSバージョン] [MIN minval] [MAX maxval] [KEPTTL]
| TairStringキーの値を増減します。 numパラメーターの値は、DOUBLE型である必要があります。 |
EXCAS | EXCASキーの新しい値のバージョン
| キーの現在のバージョン番号が指定されたバージョン番号と一致する場合、TairStringキーの値を更新します。 数値が一致しない場合、コマンドはキーの元の値とバージョン番号を返します。 |
EXCAD | EXCADキーバージョン
| キーの現在のバージョン番号が指定されたバージョン番号と一致すると、TairStringキーを削除します。 |
DEL | DELキー [キー...]
| 1つ以上のTairStringキーを削除します。 |
説明 このトピックで使用されるコマンド構文の規則を次に示します。
Uppercase keyword
: commandキーワードを示します。
イタリックテキスト
: 変数を示します。
[options]
: 囲まれたパラメータがオプションであることを示します。 括弧で囲まれていないパラメータを指定する必要があります。
A | B
: 縦棒 (|) で区切られたパラメータが相互に排他的であることを示します。 指定できるパラメーターは1つだけです。
...
: このシンボルの前にあるパラメーターを繰り返し指定できることを示します。
EXSET
項目 | 説明 |
構文 | EXSETキー値 [EX | PX | EXAT | PXAT時間] [NX | XX] [VER | ABSバージョン] [KEPTTL]
|
時間の複雑さ
| O(1) |
コマンド説明 | キーが存在しない場合は、TairStringキーを作成し、キーに値を書き込みます。 キーが既に存在する場合、コマンドはキーの値を上書きします。 |
パラメーター | key: このコマンドを実行して管理するキー。 value: キーに書き込む値。 EX: キーの相対有効期限。 単位は秒です。 値0は、キーがすぐに期限切れになることを示します。 このパラメーターが指定されていない場合、キーは有効期限が切れません。 EXAT: キーの絶対有効期限。 単位は秒です。 値0は、キーがすぐに期限切れになることを示します。 このパラメーターが指定されていない場合、キーは有効期限が切れません。 PX: キーの相対的な有効期限。 単位:ミリ秒。 値0は、キーがすぐに期限切れになることを示します。 このパラメーターが指定されていない場合、キーは有効期限が切れません。 PXAT: キーの絶対有効期限。 単位:ミリ秒。 値0は、キーがすぐに期限切れになることを示します。 このパラメーターが指定されていない場合、キーは有効期限が切れません。 NX: キーが存在しない場合にのみ、値がキーに書き込まれるように指定します。 XX: キーが存在する場合にのみ値がキーに書き込まれるように指定します。 VER: キーのバージョン番号。 ABS: キーの絶対バージョン番号。 このパラメーターを指定すると、キーの現在のバージョン番号に関係なく、値がキーに書き込まれます。 そして、バージョン番号はABS値で上書きされる。 KEPTTL: キーの残りの有効期間 (TTL) を継承します。 このパラメーターは、EX、PX、EXAT、PXATと一緒に設定することはできません。
説明 KEEPTL、EX、PXなど、キーの有効期限に関連するパラメーターを設定しない場合、キーは期限切れになりません。
|
Output | |
例: | サンプルコマンド: EXSET foo bar EX 10 NX ABS 100
サンプル出力: OK
|
EXGET
項目 | 説明 |
構文 | EXGETキー
|
時間の複雑さ | O(1) |
コマンド説明 | TairStringキーの値とバージョン番号を取得します。 |
パラメーター | |
Output | |
例: | サンプルコマンド: EXGET foo
サンプル出力: 1) "bar"
2) (integer) 1
|
EXSETVER
項目 | 説明 |
構文 | EXSETVERキーバージョン
|
時間の複雑さ | O(1) |
コマンド説明 | TairStringキーのバージョン番号を指定します。 |
パラメーター | key: このコマンドを実行して管理するキー。 version: 指定するバージョン番号。
|
Output | 操作が成功した場合、値1が返されます。 キーが存在しない場合、値0が返されます。 それ以外の場合、エラーメッセージが返されます。
|
例: | サンプルコマンド: EXSETVER foo 2
サンプル出力: (integer) 1
|
EXINCRBY
項目 | 説明 |
構文 | EXINCRBYキーnum [EX | PX | EXAT | PXAT時間] [NX | XX] [VER | ABSバージョン] [MIN minval] [MAX maxval] [KEPTTL]
|
時間の複雑さ | O(1) |
コマンド説明 | TairStringキーの値を増減します。 numパラメーターの値は、LONG型である必要があります。 |
パラメーター | key: このコマンドを実行して管理するキー。 num: キーを増減する値。 この値は整数でなければなりません。 EX: キーの相対有効期限。 単位は秒です。 値0は、キーがすぐに期限切れになることを示します。 このパラメーターが指定されていない場合、キーは有効期限が切れません。 EXAT: キーの絶対有効期限。 単位は秒です。 値0は、キーがすぐに期限切れになることを示します。 このパラメーターが指定されていない場合、キーは有効期限が切れません。 PX: キーの相対的な有効期限。 単位:ミリ秒。 値0は、キーがすぐに期限切れになることを示します。 このパラメーターが指定されていない場合、キーは有効期限が切れません。 PXAT: キーの絶対有効期限。 単位:ミリ秒。 値0は、キーがすぐに期限切れになることを示します。 このパラメーターが指定されていない場合、キーは有効期限が切れません。 NX: キーが存在しない場合にのみ、値がキーに書き込まれるように指定します。 XX: キーが存在する場合にのみ値がキーに書き込まれるように指定します。 VER: キーのバージョン番号。 ABS: キーの絶対バージョン番号。 このパラメーターを指定すると、キーの現在のバージョン番号に関係なく、値がキーに書き込まれます。 そして、バージョン番号はABS値で上書きされる。 MIN: キーの最小値。 MAX: キーの最大値。 KEPTTL: キーの残りのTTLを継承します。 このパラメーターは、EX、PX、EXAT、PXATと一緒に設定することはできません。
説明 KEEPTL、EX、PXなど、キーの有効期限に関連するパラメーターを設定しない場合、キーは期限切れになりません。
|
Output | |
例: | EXSET foo 1 コマンドは事前に実行されます。
サンプルコマンド: EXINCRBY foo 100 MAX 300
サンプル出力: (integer) 101
|
EXINCRBYFLOAT
項目 | 説明 |
構文 | EXINCRBYFLOATキーnum [EX | PX | EXAT | PXAT時間] [NX | XX] [VER | ABSバージョン] [MIN minval] [MAX maxval] [KEPTTL]
|
時間の複雑さ | O(1) |
コマンド説明 | TairStringキーの値を増減します。 numパラメーターの値は、DOUBLE型である必要があります。 |
パラメーター | key: このコマンドを実行して管理するキー。 num: キーを増減する値。 値は浮動小数点数でなければなりません。 EX: キーの相対有効期限。 単位は秒です。 値0は、キーがすぐに期限切れになることを示します。 このパラメーターが指定されていない場合、キーは有効期限が切れません。 EXAT: キーの絶対有効期限。 単位は秒です。 値0は、キーがすぐに期限切れになることを示します。 このパラメーターが指定されていない場合、キーは有効期限が切れません。 PX: キーの相対的な有効期限。 単位:ミリ秒。 値0は、キーがすぐに期限切れになることを示します。 このパラメーターが指定されていない場合、キーは有効期限が切れません。 PXAT: キーの絶対有効期限。 単位:ミリ秒。 値0は、キーがすぐに期限切れになることを示します。 このパラメーターが指定されていない場合、キーは有効期限が切れません。 NX: キーが存在しない場合にのみ、値がキーに書き込まれるように指定します。 XX: キーが存在する場合にのみ値がキーに書き込まれるように指定します。 VER: キーのバージョン番号。 ABS: キーの絶対バージョン番号。 このパラメーターを指定すると、キーの現在のバージョン番号に関係なく、値がキーに書き込まれます。 そして、バージョン番号はABS値で上書きされる。 MIN: キーの最小値。 MAX: キーの最大値。 KEPTTL: キーの残りのTTLを継承します。 このパラメーターは、EX、PX、EXAT、PXATと一緒に設定することはできません。
説明 KEEPTL、EX、PXなど、キーの有効期限に関連するパラメーターを設定しない場合、キーは期限切れになりません。
|
Output | |
例: | EXSET foo 1 コマンドは事前に実行されます。
サンプルコマンド: EXINCRBYFLOAT foo 10.123
サンプル出力: (integer) 11.123
|
EXCAS
項目 | 説明 |
構文 | EXCASキーの新しい値のバージョン
|
時間の複雑さ | O(1) |
コマンド説明 | キーの現在のバージョン番号が指定されたバージョン番号と一致する場合、TairStringキーの値を更新します。 数値が一致しない場合、コマンドはキーの元の値とバージョン番号を返します。 |
パラメーター | |
Output | 操作が成功した場合、「 ["OK", ", 最新バージョン] 」メッセージが返されます。 メッセージの中央の「」文字は、意味を持たない空の文字列を示します。 操作が失敗した場合、次のエラーメッセージが返されます: ["ERR update version is stale", value, version] 。 valueは、キーの現在の値を示します。 versionは、キーの現在のバージョン番号を示します。 キーが存在しない場合、-1の値が返されます。 それ以外の場合、エラーメッセージが返されます。
|
例: | EXSET foo bar コマンドは事前に実行されます。
サンプルコマンド: EXCAS foo bzz 1
サンプル出力: 1) OK
2)
3) (integer) 2
|
EXCAD
項目 | 説明 |
構文 | EXCADキーバージョン
|
時間の複雑さ | O(1) |
コマンド説明 | キーの現在のバージョン番号が指定されたバージョン番号と一致すると、TairStringキーを削除します。 |
パラメーター | |
Output | 操作が成功した場合、値1が返されます。 操作が失敗した場合、値0が返されます。 キーが存在しない場合、-1の値が返されます。 それ以外の場合、エラーメッセージが返されます。
|
例: | EXSET foo bar コマンドは事前に実行されます。
サンプルコマンド: EXCAD foo 1
サンプル出力: (integer) 1
|