• 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
  • 相关阅读:
    SSIS常用的包—XML任务,SQL分析服务执行DDL和Processing任务
    SQL点滴7—使用SQL Server的attach功能出现错误及解决方法
    SSIS中的容器和数据流—数据目的
    SQL点滴8—the account is currently locked out. The system administrator can unlock it.
    SSIS常用的包—WMI数据读取任务和WMI事件监听任务
    Microsoft SQL Server Integration Service文章总结
    SSIS常用的包—Web服务任务
    SQL点滴6—“微软不认识闰年2月29日”&字符"N"的作用
    SSIS中的容器和数据流—数据源
    YUI Grids实现自定义宽度的Template
  • 原文地址:https://www.cnblogs.com/ldybyz/p/6427068.html
Copyright © 2020-2023  润新知