Yii redis zset秩序集合の使用

3443 ワード


ハッシュにキーと値のマッピング関係が格納されているのと同様に、シーケンスセットにはメンバーとスコアのマッピングも格納され、スコア処理コマンドと、スコアサイズに応じてメンバーとスコアを秩序正しく取得(fetch)およびスキャン(scan)するコマンドが提供される.ここでは、一般的なコマンドとYiiでの使用について説明します.
ZADD
ZADD:ZADD key-name score member[score member...]所定のスコアを持つメンバーを秩序化されたセットに追加します.
ZREM
ZREM:ZREM key-name member[member...]秩序化されたセットから所定のメンバーを除去し、除去されたメンバーの数を返します.
ZCARD
ZCARD:ZCARDkey-nameは、秩序化されたセットに含まれるメンバーの数を返します.
ZINCRBY
ZINCRBY:ZINCRBY key-name increment memberメンバーのスコアにincrementを加算します.
ZCOUNT
ZCOUNT:ZCOUNT key-name min maxは、minとmaxの間のメンバー数を返します.
ZRANK
ZRANK:ZRANK key-nameメンバーは、メンバーメンバーメンバーの順序付けされたセット内の順位を返します.順位は0から.
ZSCORE
ZSCORE:ZSCORE key-nameメンバーはメンバーメンバーメンバーのスコアを返します.
ZRANGE
ZRANGE:ZRANGE key-name start stop[WITHSCORES]は、startとstopの間に順序付けられたセットのメンバーを返します.オプションのWITHSCORESオプションが指定されている場合、コマンドはメンバーのスコアも一緒に返します.
ZREVRANK
ZREVRANK:ZREVRANK key-name memberは、秩序化された集合のメンバーメンバーメンバーの順位を返し、メンバーはスコアによって大きいものから小さいものに並べ替えられます.
ZREVRANGE
ZREVRANGE:ZREVRANGE key-name start stop[WITHSCORES]は、指定されたランキング範囲内のメンバーの順序付けされたセットを返し、メンバーはスコアの大きい順から小さい順にソートされます.
ZRANGEBYSCORE
ZRANGE BYSCORE:ZRANGE BYSCORE key min[WITHSCORES][LIMIT offset count]は、minとmaxの間のすべてのメンバーのスコアを持つ順序付きセットに戻ります.
ZREVRANGEBYSCORE
ZREVRANGEBYSCORE:ZREVRANGEBYSCORE key max min[WITHSCORES][LIMIT offset count]は、minとmaxの間の整数値を持つすべてのメンバーを取得し、整数値の大きい順から小さい順に返します.
ZREMRANGEBYRANK
ZREMRANGEBYRANK:ZREMRANGEBYRANKkey-name start stop startとstopの間にランクされたすべてのメンバーを除去します.
ZREMRANGEBYSCORE
ZREMRANGEBYSCORE:ZREMRANGEBYSCORE key-name min maxは、秩序化されたセットのminとmaxの間の値を持つすべてのメンバーを除去します.
 
Yiiでの使用例:
//   3       
Yii::$app->redis->zadd('testZsetKey', 1, 'a', 2, 'b', 3, 'c');  // 3
//       
Yii::$app->redis->zcard('testZsetKey');   // 3
//  c      3
Yii::$app->redis->zincrby('testZsetKey', 3, 'c');   // 6
//   c     
Yii::$app->redis->zscore('testZsetKey', 'c');   // 6
//   c         ,   0  
Yii::$app->redis->zrank('testZsetKey', 'c');   // 2
//       1 6       
Yii::$app->redis->zcount('testZsetKey', 1, 6);   // 3
//     b
Yii::$app->redis->zrem('testZsetKey', 'b');   // 1
//               
Yii::$app->redis->zrange('testZsetKey', 0, -1, 'WITHSCORES');   // ["a","1","c","6"]