Redisはネストしたオブジェクトをどのように格納しますか?
Redisでは、ネストしたオブジェクトを格納するためにハッシュデータ型を使用できます。ハッシュデータ型はキーと値のペアのコレクションであり、各キーと値のペアはフィールドと値のペアと呼ばれ、一意のキーを使用してアクセスできます。
ネストしたオブジェクトを格納する方法は次のとおりです。
- 各オブジェに固有のキーで識別されるハッシュデータ構造を作成する。たとえば、オブジェクトのIDをキーとして使用できる。
- オブジェクトのプロパティーをフィールド、プロパティーの値を値としてハッシュに格納します。プロパティーの値もオブジェクトの場合は、オブジェクトを別のハッシュとして格納し、それを親オブジェクトのハッシュにフィールドの値として格納できます。
- Redisのコマンドを利用してハッシュ型のデータ操作が可能で、HSETコマンドでfield-valueペアをセットしたり、HGETコマンドでfieldの値を取得したり、HGETALLコマンドで全てのfield-valueペアを取得したりする。
こちらが例になります:
オブジェクトがあったとして
日本ではない。
「id」:「1」
“name”: “John”,
“age”: 25,
アドレス:
「通り」: 「メインストリート123」
都市: 「ニューヨーク」
「州」: 「NY」
彼は腕を組んで立っていた
生まれつき目が悪い人は眼鏡をかけて矯正する。
このオブジェクトは次のコマンドを使用してRedisに格納できます:
HSET user:1 id 1
HSET user:1 name “John”
HSET user:1 年齢 25
HSET user:1:address:street “123 Main St”
HSET user:1:address:city “New York”
HSET user:1:address state “NY”
ユーザー:1のオブジェクトの全属性はHGETALL user:1コマンドで取得できます。
ネストしたオブジェクトを格納する際は、そのオブジェクトを文字列に変換する必要があります。その際、オブジェクトを JSON 文字列に変換する JSON.stringify メソッドを使用し、Redis に格納します。データを呼び出す際は、JSON.parse メソッドを使用して JSON 文字列をオブジェクトに戻すことができます。