レディス2

WBOY
WBOYオリジナル
2024-08-14 17:28:31348ブラウズ

Redis 2

Redis - リスト、セット、ハッシュマップ

これは前のブログ投稿の続きです

キーと値のペア以外に利用可能なデータ型が他に 3 つあります

リスト

このデータ構造は、Python のリスト、JavaScript や C# の配列に似ています。最近使用したアイテムを保管するために使用できます。一般的な操作は次のとおりです。

Operations Explanations Examples Further Explanation
LPUSH Adds an Item to the beginning of the list LPUSH friends "Sophia" similar to Array.unshift in javascript
LRANGE Get all the items in a list LRANGE friends 0 -1 similiarly a list in python 0 is the first item and -1 is the last item
RPUSH Adds an item to the end of the list RPUSH friends "Poe" similar to Array.push in javascript
LPOP Removes an item from the start of the list LPOP friends "Poe" Will return 1 if Poe exists in the list and 0 otherwise
RPOP Removes an item from the end of the list RPOP friends "Sophia" Will return 1 if Sophia exists in the list and 0 otherwise

セット

一意の項目のみを含むデータ構造。 Python のセット、JavaScript のセット、C# の HashSet に似ています。一般的な操作は次のとおりです。

Operations Explanations Examples Further Explanation
SADD Adds a value to the set SADD colors "pink"
SMEMBERS returns the members of the set SMEMBERS colors will return all the items in the set colors
SREM Removes members of the set SREM colors "pink" Will return 1 if pink exists in the list and 0 otherwise

ハッシュマップ

ハッシュマップはキーと値のペアのグループです。ただし、ハッシュマップはネストできません。名前、電子メール、電話番号を持つ人のケースシナリオを考えてみましょう

HSET person name "Joe" # Adds the key-value pair {name : joe} to the hashmap
HSET person email "Joe@joe.com" # Adds the key-value pair {email : Joe@joe.com} to the hashmap
HSET person phone_number "+2345656655413" # Adds the key-value pair {number : ....} to the hashmap

HGET コマンドを使用して、ハッシュマップ内の特定のキーの値を取得できます

HGET person name # returns "Joe"

HGETALL コマンドは、ハッシュマップ内のすべてのキーと値のペア

HGETALL person 

1) "name"
2) "Joe"
3) "email"
4) "Joe@joe.com"
5) "phone_number"
6) "+2345656655413"

HDEL コマンドは、キーごとにキーと値のペアを削除します

HDEL person name # removes {name : joe}

HEXISTS コマンドは、キーがハッシュセットに存在するかどうかをチェックします

HEXISTS person name # returns 0 because we've deleted it before

これらは、開発者が知っておく必要がある基本コマンドのほとんどです。


面接でよくある質問

  1. Redis の完全な意味は何ですか?: Redis は REmote DIctionary Server

  2. の略です
  3. Redis は MySQL などの従来のデータベースとどのように異なりますか?: Redis はメイン メモリ内で動作し、ディスク上に常駐し広範囲にわたる雑な操作を行う SQL とは異なり、値にすばやくアクセスするための基本的な操作を備えています。

  4. データのサイズと型に関する Redis の制限は何ですか?: Redis は、マシンのメモリに収まる値を保持するように設計されています。結合を含む複雑なリレーショナル モデルや、大きな BLOB の構造化には適していません

  5. Redis を使用して分散環境でキャッシュを処理するにはどうすればよいですか?: データベースの前にキャッシュ レイヤーとして Redis インスタンスを設定して、キャッシュを処理します。一貫性のあるハッシュを使用してキャッシュ ノード全体にキーを分散することで、均一な負荷分散が保証され、キャッシュ ミスが減少します

  6. Redis でリスト データ型を使用する必要があるのはどのような場合ですか?: リストは、ジョブ キュー、ログ、バッファー、およびその他の多くのユースケースにおける耐久性のあるアトミック キューに最適です

以上がレディス2の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:useCallback VS useMemo次の記事:useCallback VS useMemo