ホームページ  >  記事  >  データベース  >  Redisでzsetを使用する方法

Redisでzsetを使用する方法

(*-*)浩
(*-*)浩オリジナル
2019-06-17 15:34:534820ブラウズ

Redisの

Zsetはsetのバージョンアップ版です.setをベースにsequence属性を追加します.この属性は要素の追加や変更時に指定することができます.指定するたびにzsetが自動的に新しい値を再取得します.オーダー。 mysql テーブルには 2 つの列があり、1 つの列には値が格納され、もう 1 つの列には順序が格納されていることがわかります。操作中、key は zset の名前として認識されます。

Redisでzsetを使用する方法

ソート セット (zset) を使用すると、要素の追加、削除、更新を非常に迅速に行うことができます (O(log(N)))。要素は挿入時にソートされるため、スコアや位置によって要素の範囲をすばやく取得できます。ソートされたセットの中間要素へのアクセスも非常に高速であるため、ソートされたセットを重複メンバーのないスマート リストとして使用できます。このリストでは、順序付けされた要素、簡単な存在テスト、セットの中間要素への簡単なアクセスなど、必要なものに簡単にアクセスできます。 (推奨学習: Redis ビデオ チュートリアル )

つまり、順序付きセットを使用すると、他のデータベースでは達成するのが難しい多くのタスクを十分に完了できます。

最初に、いくつかのデータを追加しましょう:

> zadd member_list 10 a 3 b 1 c 4 d 7 e
(integer) 5
#返回5,即成功加了5个进入集合。现在试试添加重复的元素
> zadd member_list 9 a 8 f
(integer) 1
#这个步骤,返回了1,而不是2,是因为a这个元素已经存在于集合当中了,不会添加成功。
> zrange member_list 0 6 WITHSCORES
1) "c"
2) 1.0
3) "b"
4) 3.0
5) "d"
6) 4.0
7) "e"
8) 7.0
9) "f"
10) 8.0
11) "a"
12) 9.0

ご覧のとおり、順序付きセットの並べ替えルールは分母のサイズに基づいています。分母が小さいほど、分母も小さくなります。はセットの先頭です

大規模オンラインゲームのスコアランキングリストとしてご利用いただけます。プレーヤーのスコアが変化するたびに、ZADD コマンドを実行してプレーヤーのスコアを更新し、ZRANGE コマンドを使用してトップ 10 ポイントのユーザー情報を取得できます。もちろん、ZRANK コマンドを使用して、ユーザー名を通じてプレーヤーのランキング情報を取得することもできます。最後に、ZRANGE コマンドと ZRANK コマンドを組み合わせて使用​​して、特定のプレイヤーと同様のポイントを持つ他のユーザーに関する情報をすばやく取得します。
Sorted-Sets タイプは、インデックス データの構築にも使用できます。

Redis 関連の技術記事の詳細については、「Redis データベース チュートリアルの使用方法の概要」 列にアクセスして学習してください。

以上がRedisでzsetを使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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