Redisでは、ハッシュは文字列キーをフィールドと値のペアにマップするデータ構造です。したがって、ハッシュは特に、基本的なオブジェクトを表したり、カウンターのグループを保存したりするのに役立ちます。この記事では、redis-cliを介する場合と Navicat for Redis を使用する場合について、ハッシュを管理するための主なコマンドのいくつかについて説明します。
ハッシュの作成と更新
Redisでは、キーはハッシュの名前であり、値はフィールド名、フィールド値のエントリのシーケンスを表します。例えば、vehicl(車両)オブジェクトは次のように記述できます:
vehicle make Toyota model Crown trim Platinum year 2023 color black
ハッシュを操作するためには、ハッシュフィールドの値は文字列であるため、文字列で使用するものと同様のコマンドを使用します。好例として、コマンド HSETはハッシュ内のフィールドを値に設定します。キーが存在しない場合は、ハッシュを格納する新しいキーが作成されます。フィールドがハッシュに既に存在する場合は、そのフィールドが上書きされます。
HSET key field value
各HSETコマンドに対して、Redisは次のように整数で応答します:
- フィールドがハッシュ内の新しいフィールドで、値が設定されている場合は1。
- フィールドが既にハッシュに存在し、値が更新された場合は0。
上で説明したvehicleハッシュを作成しましょう:
HSET vehicle make "Toyota" // 1 HSET vehicle model "Crown" // 1 HSET vehicle trim "Platinum" // 1 HSET vehicle year 2015 // 1 HSET vehicle color "black" // 1
ここで、yearフィールドの値を2022に更新すると、HSETは0を返します:
HSET vehicle year 2022 // 0
Navicatでのハッシュの作成
Navicat for Redis では、組み込みのエディタを使用してハッシュフィールドを追加できます。フィールドの右側にある省略記号[...]ボタンをクリックすると、特別なエディタが開き、個々のフィールド値を入力できます:
適用ボタンをクリックすると、新しいハッシュまたはフィールドが追加されます。
ハッシュフィールドの値の取得
HGETコマンドを使用して、ハッシュ内のフィールドに関連付けられた値を取得できます:
HGET key field
例えば、これを使用して、年の値として2015ではなく2022を取得していることを確認できます:
HGET vehicle year // 2022
HGETALLコマンドを使用して、全てのハッシュの内容(フィールドと値)を取得することもできます:
HGETALL key
試してみましょう:
HGETALL vehicle /* Returns: make Toyota model Crown trim Platinum year 2022 color black */
指定されたキー引数が存在しない場合、HGETALLは空のリストを返します。
フィールドの削除
HDELコマンドは、キーに格納されているハッシュから指定されたフィールドを削除します。指定されたフィールドがこのハッシュ内に存在しない場合は無視されます。HDELは、ハッシュから削除されたフィールドの数を返します。キーが存在しない場合、それは空のハッシュとして扱われ、HDELは0を返します。
HDEL key field [field ...]
HDELを使用して、yearとcolorのフィールドを削除してみましょう:
HDEL vehicle year color // 2
Navicatのエディタでは、フィールドを選択し、フィールドリストの下にある削除[-]ボタンをクリックすることで、フィールドを削除できます:
結論
このブログ記事では、redis-cliを介する場合と Navicat for Redis を使用する場合について、Redisでハッシュを管理するための主なコマンドのいくつかを取り上げました。
Navicat for Redisを試してみたい場合は、こちら からダウンロードしてください。トライアル版では14日間全ての機能を使用できます。