Redisは値をキーに関連付けることができるキーバリューストアであるため、リレーショナルデータベースのようなデータ操作言語(DML)やクエリ構文を使用しません。では、Redisでデータの書き込み、読み取り、更新、削除を行うためにはどうすればよいでしょうか?このチュートリアルでは、redis-cliと Navicat for Redis を使用してキーの書き込み、読み取り、更新、削除を行う方法について説明します。
データの読み取り
GETコマンドを使用して、Redisにキーの文字列値を要求できます:
GET key
次に示すのは、Navicat for Redis でキー"auth service"の値を取得する例です:
予想どおり、値 "auth0"が返されます:
ただし、"indiana_jones_episodes"の値を取得しようとすると、"WRONGTYPE Operation against a key holding the wrong kind of value"というエラーが発生します。それは、その値がzsetであるためです。Redisは6つのデータ型をサポートしているため、キーがどの型の値にマップされるかを知っておく必要があります。データ型ごとに、それを取得するコマンドは異なります。
キー値を取得するコマンドは次のとおりです:
- 値が文字列型の場合 -> GET
<key>
- 値がハッシュ型の場合 -> HGET or HMGET or HGETALL
<key>
- 値がリスト型の場合 -> lrange
<key> <start> <end>
- 値がセット型の場合 -> smembers
<key>
- 値がソートされたセット型の場合 -> ZRANGEBYSCORE
<key> <min> <max>
- 値がストリーム型の場合 -> xread count
<count>
streams<key>
<ID>
.
したがって、"indiana_jones_episodes"の値を取得するためには、次のようにZRANGEBYSCOREを使用し、min引数とmax引数を含めます:
これにより、ソートされたセットの最初の3つの値が返されます。
データの書き込みと更新
Redisでは、SET key Value
コマンドは、初期値の設定と更新の両方に機能します。
もちろん、Navicatでは、エディタを使用していつでもキーと値の両方を変更できます:
データの削除
Redisでは、DELコマンドを使用して、キーとそれに関連付けられた全ての値を削除できます。その構文は次のとおりです:
DEL key
例えば、次のコマンドは"auth service"キーを削除します:
DEL "auth service"
気をつけてください、Redisは操作の確認を求めません!
Navicatでは、テーブル内でキーを選択し、削除[-]ボタンをクリックすることでキーを削除できます。誤ってクリックしてしまった場合に備えて、削除を続行する前に確認を求めるダイアログが表示されます。
結論
このチュートリアルでは、redis-cliと Navicat for Redis を使用してキーを書き込み、読み取り、更新、削除する方法を学びました。次回は、redis-cliコマンドを使用してデータを操作するためのコマンドと、Navicatを使用して同じことを実行する方法を学びます。
Navicat for Redisを試してみたい場合は、こちら からダウンロードしてください。トライアル版では14日間全ての機能を使用できます。