Redisを起動して実行すると、Redisの使用を開始できます!
最も簡単な方法は、redis-cli
を使用することです。 、Redisのインストール時にインストールされるアプリケーション。
これは、アプリケーションをセットアップしなくても、Redisにコマンドを書き込むための組み込みの方法です。
redis-cli -h <host> -p <port> -a <password>
を使用してリモートRedisサーバーに接続できます
Redis CLIアプリを使用すると、データの保存を開始できます。
構造体SET <key> <value>
を使用して値を追加します :
SET name "Flavio"
構造体GET <key>
を使用して値を取得します :
EXISTS <key>
を使用してキーが存在するかどうかを確認することもできます :
このコマンドは、1(存在する)または0(存在しない)のいずれかを返します。
SET
のバリエーション キーがまだ存在しない場合にのみキーを設定できます:
SETNX name "Roger"
DEL <key>
を使用してキーを削除します :
KEYS *
を使用して挿入されたすべてのキーを一覧表示できます
または、KEYS n*
のようなパターンを使用してフィルタリングすることもできます n
で始まるキーのみを一覧表示します 、たとえば。
保存される各値は、最大512MBの値を保持できます。
キーは一時的に保存し、タイマーが終了すると自動的に削除できます:
SETEX <key> <seconds> <value>
TTL <key>
を使用して、キーがクリアされるまでの残り時間を取得できます。
この例では、name
を設定します Flavio
のキー 値として、TTLを使用して、キーが値を返すまでの残り時間を確認できます。タイマーの期限が切れると、null値(nil
)になります。 ):
EXPIRE <key> seconds>
を使用して、既存のキーを期限切れにするように設定することもできます 。
数値は、INCR <key>
を使用してインクリメントできます DECR <key>
を使用してデクリメントされます 。 INCRBY <key> <amount>
を使用することもできます およびDECRBY <key> <amount>
キー値を特定の量だけインクリメントするには:
これらのコマンドは、アトミックトランザクションを確保するために、多くのクライアントが同じデータとやり取りする可能性のある同時操作が多い場合に非常に適しています。 。
最も一般的な例は、2つの異なるクライアントが同じ数をインクリメントしようとする場合です。
PostgreSQLやMongoDBのようなデータベースでは、最初に数値を取得し、それをインクリメントしてから、サーバーにインクリメントを要求します。
値が1
であるとします 。 2つのクライアントがGET
を使用して値を読み取った場合 次に、SET
を呼び出します 個別にインクリメントするには、最終的に、同時変更の発生を妨げるものがない場合、結果は2
になります。 。 Redisは、この問題を根本的に防ぎます。
これまで、整数や文字列などの単純なデータ型を使用してきました。
Redisはより複雑な構造をサポートできます。
次のレッスンで操作方法を見てみましょう:
- リスト
- セット
- ソートされたセット
- ハッシュ