Redisラーニングノート-データ型とAPI(5)Sorted Set
3571 ワード
Sorted Set
特長秩序 重複なし 集合間操作 集合VS秩序集合
しゅうごう
ちくじしゅうごう
重複要素なし
重複要素なし
無秩序
秩序
element
element + score
リストVS整列集合
リスト#リスト#
ちくじしゅうごう
重複する要素があります
重複要素なし
秩序
秩序
element
element + score
共通コマンド
操作タイプ
コマンド#コマンド#
きほんそうさ
zadd、zrem、zcard、zincrby、zscore
レンジアクション
zrange、zrangebyscore、zcount、zremrangebyrank
コレクションアクション
zunionstore、zinterstore
コマンド#コマンド#
意味
時間の複雑さ
zadd
1つ以上のメンバー要素とそのscore値を秩序セットkeyに追加
O(M*log(N)),Nは秩序化セットの基数であり,Mは正常に追加された新しいメンバーの数である.
zrem
秩序セットkeyの1つ以上のメンバーを削除すると、存在しないメンバーは無視されます.
O(M*log(N)),Nは秩序セットの基数,Mは正常に除去されたメンバーの数である.
zscore
要素の分数
O(1)
zincrby
要素のスコアの増加または減少
O(log(N))
zcard
要素の合計数
O(1)
zrange
指定したインデックス範囲内の昇順要素【およびスコア】を返します.
O(log(N)+M),Nは秩序化セットの基数であり,Mは結果セットの基数である
zrangebyscore
指定したスコア範囲内の昇順要素【およびスコア】を返します.
O(log(N)+M),Nは秩序化セットの基数であり,Mは結果セットの基数である
zcount
指定したスコア範囲内の要素の数を返します.
O(log(N)+M),Nは秩序化セットの基数,Mはminとmaxの間の値を持つ要素の数である
zremrangebyrank
指定したランキング内の昇順要素の削除
O(log(N)+M),Nは秩序化セットの基数であり,Mは除去されたメンバーの数である
zremrangebyscore
指定したスコア内の昇順要素の削除
O(log(N)+M),Nは秩序化セットの基数,Mは結果セットの基数
zadd zadd key score element(複数対でもよい)(scoreとelementを秩序化集合keyに追加) zrem zrem key element(複数可)(指定した要素を削除) zscore zscore key element(要素のスコアを返す) zincrby zincrby key increScore element(要素のスコアを増減) zcard zcard key(戻り要素の総数) zrange zrange key start end[withscores](指定したインデックス範囲内の昇順要素【およびスコア】を返す) zrangebyscore zrangebyscore key minScore maxScore[withscores](指定したスコア範囲内の昇順要素【およびスコア値を返す)) zcount zcount key minScore maxScore(指定されたスコア範囲内の要素の個数を返す) zremrangebyrank zremrangebyrankkey start end(指定したランキング内の昇順要素を削除) zremrangebyscore zremrangebyscore key minScore maxScore(指定したスコア内の昇順要素を削除)
その他のコマンド zrevrank zrevrange zrevrangebyscore zinterstore zunionstore
その他のSorted Set関連コマンド:http://www.redis.cn/commands....
実戦ランキング:新刊書ランキング、ベストセラーランキング、注目ランキングなど.
関連内容:
Redis学習ノート-データ型とAPI(1)KeyRedis学習ノート-データ型とAPI(2)StringRedis学習ノート-データ型とAPI(3)ListRedis学習ノート-データ型とAPI(4)SetRedis学習ノート-データ型とAPI(5)Sorted SetRedis学習ペン-データ型とAPI(6)Hash
特長
しゅうごう
ちくじしゅうごう
重複要素なし
重複要素なし
無秩序
秩序
element
element + score
リストVS整列集合
リスト#リスト#
ちくじしゅうごう
重複する要素があります
重複要素なし
秩序
秩序
element
element + score
共通コマンド
操作タイプ
コマンド#コマンド#
きほんそうさ
zadd、zrem、zcard、zincrby、zscore
レンジアクション
zrange、zrangebyscore、zcount、zremrangebyrank
コレクションアクション
zunionstore、zinterstore
コマンド#コマンド#
意味
時間の複雑さ
zadd
1つ以上のメンバー要素とそのscore値を秩序セットkeyに追加
O(M*log(N)),Nは秩序化セットの基数であり,Mは正常に追加された新しいメンバーの数である.
zrem
秩序セットkeyの1つ以上のメンバーを削除すると、存在しないメンバーは無視されます.
O(M*log(N)),Nは秩序セットの基数,Mは正常に除去されたメンバーの数である.
zscore
要素の分数
O(1)
zincrby
要素のスコアの増加または減少
O(log(N))
zcard
要素の合計数
O(1)
zrange
指定したインデックス範囲内の昇順要素【およびスコア】を返します.
O(log(N)+M),Nは秩序化セットの基数であり,Mは結果セットの基数である
zrangebyscore
指定したスコア範囲内の昇順要素【およびスコア】を返します.
O(log(N)+M),Nは秩序化セットの基数であり,Mは結果セットの基数である
zcount
指定したスコア範囲内の要素の数を返します.
O(log(N)+M),Nは秩序化セットの基数,Mはminとmaxの間の値を持つ要素の数である
zremrangebyrank
指定したランキング内の昇順要素の削除
O(log(N)+M),Nは秩序化セットの基数であり,Mは除去されたメンバーの数である
zremrangebyscore
指定したスコア内の昇順要素の削除
O(log(N)+M),Nは秩序化セットの基数,Mは結果セットの基数
zadd
127.0.0.1:6379> zadd report 100 xiaoming 98 xiaohong 85 laowang 60 zhangsan 55 lisi
(integer) 5
127.0.0.1:6379> zscore report laowang
"85"
127.0.0.1:6379> zcard report
(integer) 5
127.0.0.1:6379> zrank report xiaohong
(integer) 3
127.0.0.1:6379> zrank report xiaoming
(integer) 4
127.0.0.1:6379> zrem report lisi
(integer) 1
127.0.0.1:6379> zrange report 0 -1 withscores
1) "zhangsan"
2) "60"
3) "laowang"
4) "85"
5) "xiaohong"
6) "98"
7) "xiaoming"
8) "100"
127.0.0.1:6379> zrangebyscore report 85 100 withscores
1) "laowang"
2) "85"
3) "xiaohong"
4) "98"
5) "xiaoming"
6) "100"
127.0.0.1:6379> zcount report 85 100
(integer) 3
127.0.0.1:6379> zremrangebyrank report 1 1
(integer) 1
127.0.0.1:6379> zrange report 0 -1 withscores
1) "zhangsan"
2) "60"
3) "xiaohong"
4) "98"
5) "xiaoming"
6) "100"
127.0.0.1:6379> zremrangebyscore report 85 98
(integer) 1
127.0.0.1:6379> zrange report 0 -1 withscores
1) "zhangsan"
2) "60"
3) "xiaoming"
4) "100"
その他のコマンド
その他のSorted Set関連コマンド:http://www.redis.cn/commands....
実戦
関連内容:
Redis学習ノート-データ型とAPI(1)KeyRedis学習ノート-データ型とAPI(2)StringRedis学習ノート-データ型とAPI(3)ListRedis学習ノート-データ型とAPI(4)SetRedis学習ノート-データ型とAPI(5)Sorted SetRedis学習ペン-データ型とAPI(6)Hash