zsets_intro
SORTED SETS Introduction
Redis 開発者教育の申込
|
Redis 定期点検/技術サポートRedis Technical Support |
Redis エンタープライズサーバーRedis Enterprise Server |
|---|
紹介
Sorted Sets(ソート済み集合)は key 1つに複数の score と value で構成されます。
Value は score でソート(sort)され、重複しません。
score が同じなら value でソート(sort)されます。
Sorted Sets では集合という意味で value をメンバー(member)と呼びます。
Sorted Sets は主にソート(sort)が必要なところに使われます。
Value は score でソート(sort)され、重複しません。
score が同じなら value でソート(sort)されます。
Sorted Sets では集合という意味で value をメンバー(member)と呼びます。
Sorted Sets は主にソート(sort)が必要なところに使われます。
コマンド要約
- SET: ZADD
- GET: ZRANGE, ZRANGEBYSCORE, ZRANGEBYLEX, ZREVRANGE, ZREVRANGEBYSCORE, ZREVRANGEBYLEX, ZRANK, ZREVRANK, ZSCORE, ZCARD, ZCOUNT, ZLEXCOUNT, ZSCAN
- POP: ZPOPMIN, ZPOPMAX
- REM: ZREM, ZREMRANGEBYRANK, ZREMRANGEBYSCORE, ZREMRANGEBYLEX
- INCR: ZINCRBY
- 集合演算: ZUNIONSTORE, ZINTERSTORE
- Enterprise: ZISMEMBER, ZLS, ZRM, SLEN
| Commands | Version | Syntax | Description |
|---|---|---|---|
| ZADD | 1.2.0 | key score member [score member ...] | 集合に score と member を追加 |
| ZCARD | 1.2.0 | key | 集合に属する member の個数を照会 |
| ZINCRBY | 1.2.0 | key increment member | 指定した分だけ score を増加・減少 |
| ZRANGE | 1.2.0 | key start stop [withscores] | index で範囲を指定して照会 |
| ZRANGEBYSCORE | 1.2.0 | key min max [withscores] [limit offset count] | score で範囲を指定して照会 |
| ZREM | 1.2.0 | key member [member ...] | 集合から member を削除 |
| ZREMRANGEBYSCORE | 1.2.0 | key min max | score で範囲を指定して member を削除 |
| ZREVRANGE | 1.2.0 | key start stop [withscores] | index で範囲を指定して大きいものから照会 |
| ZSCORE | 1.2.0 | key member | member を指定して score を照会 |
| ZCOUNT | 2.0.0 | key min max | score で範囲を指定して個数照会 |
| ZRANK | 2.0.0 | key member | member を指定して rank(index) を照会 |
| ZREVRANK | 2.0.0 | key member | member を指定して reverse rank(index) を照会 |
| ZREMRANGEBYRANK | 2.0.0 | key start stop | index で範囲を指定して member を削除 |
| ZUNIONSTORE | 2.0.0 | dest_key numkeys src_key [src_key ...] [WEIGHTS weight [weight ...]] [AGGREGATE SUM|MIN|MAX] | 和集合を求めて新しい集合に保存 |
| ZINTERSTORE | 2.0.0 | dest_key numkeys src_key [src_key ...] [WEIGHTS weight [weight ...]] [AGGREGATE SUM|MIN|MAX] | 積集合を求めて新しい集合に保存 |
| ZREVRANGEBYSCORE | 2.2.0 | key max min [withscores] [limit offset count] | score で範囲を指定して大きいものから照会 |
| ZSCAN | 2.8.0 | key cursor [MATCH pattern] [COUNT count] | score、member を一定単位個数ずつ照会 |
| ZRANGEBYLEX | 2.8.9 | key min max [limit offset count] | member で範囲を指定して照会 |
| ZLEXCOUNT | 2.8.9 | key min max | member で範囲を指定して個数照会 |
| ZREMRANGEBYLEX | 2.8.9 | key min max | member で範囲を指定して member を削除 |
| ZREVRANGEBYLEX | 2.8.9 | key max min [limit offset count] | member で範囲を指定して大きいものから照会 |
| ZPOPMIN | 5.0.0 | key | 小さい値から取り出す |
| ZPOPMAX | 5.0.0 | key | 大きい値から取り出す |
| BZPOPMIN | 5.0.0 | key | データが入ると小さい値から取り出す |
| BZPOPMAX | 5.0.0 | key | データが入ると大きい値から取り出す |
| ZMSCORE | 6.2.0 | member [member ...] | member の score を返す — 複数指定可能 |
| ZRANDMEMBER | 6.2.0 | key | 任意(random)のメンバー(member)を照会 |
| ZRANGESTORE | 6.2.0 | dst src start stop | 照会して別のキーに保存 |
| ZUNION | 6.2.0 | numkeys key [key ...] | 和集合を求める |
| ZINTER | 6.2.0 | numkeys key [key ...] | 積集合を求める |
| ZDIFF | 6.2.0 | numkeys key [key ...] | 差集合を求める |
| ZDIFFSTORE | 6.2.0 | destination numkeys key [key ...] | 差集合を求めて新しい集合に保存 |
| ZISMEMBER | Ent 6.0.0 | key member | 集合に member が存在するかを確認 |
| ZLS | Ent 6.0.0 | key pattern | パターン(pattern)で値(value)を照会 |
| ZRM | Ent 6.0.0 | key pattern | パターン(pattern)で値(value)を削除 |
| ZLEN | Ent 7.0.0 | key | キーに属するメンバー(member)個数を返す |
Total : 36
Redis Internal : Sorted Set 内部データ構造
Sorted Set データ構造
-
スキップリスト(SKIP LIST): Sorted Set のメインデータ構造であるスキップリストを知れば、
- 目を閉じても ZADD がどのように動作するか、
- ZRANGE が数百万件のデータからなぜそれほど速く照会できるかが分かるようになります。
- あわせてこれまで Sorted Set について持っていた疑問が解けます。
- ジップリスト(ZIP LIST)
- ジップリストの誕生背景、データ構造と基本動作、
- Sorted Set で使われるとき性能とメモリをどれだけ節約するかが分かります。
PDF manual
| << SSCAN | SORTED SETS Introduction | ZADD >> |
|---|
Email
返事がかかってなれば、メールでお知らせします。
