次のコラム redis チュートリアル では、redis における set と hset の違いと使用シナリオを紹介します。友人の役に立てば幸いです。必要としている!
redisデータを Redis に保存するときに hset を使用する場合データ保存時の設定との違いは?
set は、データを保存するための通常のキーと値のメソッドであり、有効期限を設定できます。時間計算量は O(1) で、もう 1 つのセットを実行すると、redis にはもう 1 つのキーが存在し、hset はハッシュ テーブルの形式で保存されます。タイムアウトは大きなキーにのみ設定でき、単一のフィールドには設定できません。Baidu の多くの記事では O(1) であると書かれていますが、以下に示した参考記事では、時間計算量は実際には O(1) であると書かれています。 . (N) N 値は 1 つのハッシュ上のフィールドの数であるため、1 つのハッシュは多数のフィールドを格納するのには適していません。フィールドが多すぎると、より多くの CPU を消費します。ただし、それらをハッシュ テーブルはメモリを節約します。
したがって、実際の使用では、単一の大きなテキストの非構造化データを格納するために set を使用する必要があります。hset は構造化データを格納し、ハッシュはデータの一部を格納し、フィールドはデータの一部の属性を格納し、値属性に対応する値です。
たとえば、データベースには、id、名前、年齢、性別の 4 つの属性を含むテーブル user があり、400 万個のデータが含まれています。
id、名前、年齢、性別
1, 1, チャン・サン, 16, 1
2, 2, リー・シー, 22, 1
3, 3, ワン・ウー, 28, 0
4, 4, Zhao Liu, 32, 1
...
テーブル全体を Redis にキャッシュしたい場合は、ハッシュを使用します。1 つのデータには 1 つのハッシュがあります。ハッシュであり、各ハッシュには 4 つのフィールドが含まれます。
hset user_1 id 1 名前 Zhang San 年齢 16 性別 1
hset user_2 id 2 名前 Li Si 年齢 16 性別 1
...
This way ストレージでは、ユーザーの特定の属性値が変更された場合、個別に変更することもできます。
たとえば、Zhang San の年齢を 30 歳に変更する場合、次のコマンドを使用できます: hset user_1 age 30
#たとえば、キャッシュしたい場合は、アプリケーションのホームページ全体の HTML または、特定の製品の詳細な紹介 (一般的に、製品の詳細な紹介は、makdown 構文のリッチ テキスト情報、または HTML 形式のリッチ テキスト情報です)。## または特定のホット データの場合、set を使用してデータの大部分を保存できます。
以上がRedis の set と hset の違いと使用シナリオの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。