• Redis有序集合操作


    有序集合存储着成员和分值之间的映射,并且提供了分值处理命令,以及根据分值大小有序的获取或扫描成员和分值的命令

    (常用命令)

    ZADD : ZADD key-name score member [score member ...] ------------将带有给定分值的成员添加到有序集合里

    ZREM : ZREM key-name member [member ...] --------------------------从有序集合里移除给定的成员,并返回被移除成员的数量

    ZCARD : ZCARD key-name  ------------------------------------------------返回有序集合包含的成员数量

    ZINCRBY : ZINCRBY key-name increment member --------------------将member成员的分值加上increment

    ZCOUNT : ZCOUNT key-name min max ---------------------------------返回分值介于min和max之间的成员数量

    ZRANK : ZRANK key-name member ------------------------------------返回成员member在有序集合中的排名

    ZSCORE : ZSCORE key-name member --------------------------------返回成员member的分值

    ZRANGE : ZRANGE key-name start stop [WITHSCORE] ------------返回有序集合中排名介于start和stop之间的成员,如果给定了可选的WITHSCORE选项,那么命令会将成员的分值也一并返回

    >>> conn.zadd('zset-key','a',3,'b',2,'c',1)
    3
    >>> conn.zcard('zset-key')
    5
    >>> conn.delete('zset-key')
    1
    >>> conn.zadd('zset-key','a',3,'b',2,'c',1)
    3
    >>> conn.zcard('zset-key')
    3
    >>> conn.zincrby('zset-key','c',3)
    4.0
    >>> conn.zscore('zset-key','b')
    2.0
    >>> conn.zrank('zset-key','c')
    2
    >>> conn.zcount('zset-key',0,3)
    2L
    >>> conn.zrem('zset-key','c')
    1
    >>> conn.zrange('zset-key',0,-1,withscores=True)
    [('b', 2.0), ('a', 3.0)]

     (有序集合在一定范围内获取数据和删除数据命令,以及并集和交集命令)

    ZREVRNK : ZREVRANK key-name member --------------返回有序集合里成员member的排名,成员按照分值从大到小排列

    ZREVRANGE  : ZREVRANGE key-name start stop [WHISTSCORES] -----------返回有序集合给定排名范围内的成员,成员按照分值从大到小排列

    ZRABGEBYSCORE : ZRABGEBYSCORE key min max [WITHSCORES] [LIMIT offset count] --------返回有序集合中,分值介于min和max之间的所有成员

    ZREVRANGEBYSCORE : ZREVRANGEBYSCORE key max min [WITHSCORES] [LIMIT offset count] -----获取有序集合中分值介于min和max之间的所有成员,并按照分值从大到小的顺序返回它们

    ZREMRANGEBYRANK : ZREMRANGEBYRANK  key-name start stop ---------------------移除有序集合中排名介于start和end之间的所有成员

    ZREMRANGEBYSCORE : ZREMRANGEBYSCORE  key-name min max -------------------移除有序集合中分值介于min和max之间的所有成员

    ZINTERSTORE : ZINTERSTORE  dest-key key-count key [key...] [WEIGHTS weight [weight ...]] [AGGREGATE SUM|MIN|MAX]--------------对给定的有序集合执行类似于集合的交集运算

    ZUNIONSTORE : ZUNIONSTORE dest-key key-count key [key...] [WEIGHTS weight [weight ...]] [AGGREGATE SUM|MIN|MAX]--------------对给定的有序集合执行类似于集合的并集运算

    >>> import redis
    >>> conn = redis.Redis(host='192.168.146.129',port=6379,db=0)
    >>> conn.zadd('zset-1','a',1,'b',2,'c',3)
    3
    >>> conn.zadd('zset-2','b',4,'c',1,'d',0)
    3
    >>> conn.zinterstore('zset-i',['zset-1','zst-2'])
    0L
    >>> conn.zinterstore('zset-i',['zset-1','zset-2'])
    2L
    >>> conn.zrange('zset-i',0,-1,withscores=True)
    [('c', 4.0), ('b', 6.0)]
    >>> conn.zunionstore('zset-u',['zset-1','zset-2'],aggregate='min')
    4L
  • 相关阅读:
    小程序05 深入小程序框架
    小程序04 小程序框架
    小程序03 第一个小程序
    小程序02 wxml和wxss
    POJ3278 Catch That Cow
    POJ2251 Dungeon Master
    POJ1321棋盘问题
    Java ClassLoad详解
    十大经典排序算法最强总结(含JAVA代码实现)
    Task底层实现原理探秘
  • 原文地址:https://www.cnblogs.com/ldybyz/p/6427068.html
Copyright © 2020-2023  润新知