zoukankan      html  css  js  c++  java
  • python学习之-- redis模块操作 集合和有序集合

    redis 模块操作之 集合set和有序集合zset

    Set 集合操作,不允许重复的列表
    sadd(name,value):name对应的集合中添加元素
    scard(name):获取name对应的集合中元素个数
    sdiff(keys,*args):差集
    sdiffstore(dest,keys,*args):差集存到新的地方
    sinter(keys,*args):交集
    sinterstore(dest,keys,*args):交集另外存储
    sismember(name,value):判断是否有对应的值
    smembers(name):获取集合所有成员
    smove(src,dst,value):从一个value从src集合中移动到dst集合中
    spop(name):从集合的右侧移除一个成员,并将其返回
    srandmember(name,number):从name对应的集合中随机获取member个元素。
    srem(name,value):在name对应的集合中删除某些值
    sunion(keys,*args):并集
    sunionstore(dest,keys,*args):并集另外存储
    sscan(name,cursor=0,match=None,count=None)
    sscan_iter(name,match=None,count=None)
    同字符串的操作,用于增量迭代分批获取元素,避免内存消耗过大
    添加举例:
    r.sadd('sname','jack','bard') #添加数据
    print(r.smembers('sname')) # 获取所有的值

    有序集合:在集合的基础上,为每个元素排序,元素的排序需要根据另外一个值来进行比较,所以,对于有序集合,每一个元素有
    2个值,即:值和分数,分数专门用来做排序。
    zadd(name,*arg,**kwargs):在name对应的有序集合中添加元素
    zadd('zz',1,'n1',2,'n2') # 其中数字为权重值
    获取值:zrange zz 0 -1
    注意:当添加重复项是,修改的只是权重值,实际数据还是唯一的。
    zrange zz 0 -1 withscores :可以同时显示数据和对应的权重值
    zcard(name):获取集合元素的数量
    zcount(name,min,max):获取集合中权重在min,max之间的个数
    zincrby(name,value,amount):自增有序集合中name对应的分数
    zrange(name,start,end,desc=False,withscores=False,score_cast_func=float)
    按照索引范围获取name对应的有序集合的元素
    start:有序集合索引的起始位置(非分数)
    end:索引的结束位置(非分数)
    desc:排序规则,默认按照分数从小到大排序
    withscores:是否获取元素的分数
    score_cast_func:对分数进行数据转换的函数
    zrank(name,value):获取某个值在name对应的有序集合中的排序(从0开始)
    zrangebylex(name,min,max,start=None,num=None)
    当有序集合的所有成员都具有相同的分值时,有序集合的元素会根据成员的值
    zrem(name,values):删除值
    zremrangebyrank(name,min,max):根据排行范围删除,
    zremrangebysore(name,min,max):根据分数范围删除
    zremrangebylex(name,min,max):根据值返回删除。
    zscore(name,value):获取name对应的有序集合中value对应的分数
    zinterstore(dest,keys,aggregate=None):获取有序集合的交集,如果遇到相同值,则按照aggregate操作
    aggregate值为:sum,min,max
    zunionstore(dest,keys,aggregate=None):获取2个集合的并集,参数同上
    zcan(name,cursor=0,match=None,count=None,score_cast_func=float)
    # 同字符串相似,相较于字符串新增score_cast_func,用来对分数进行操作

  • 相关阅读:
    [C#][Newtonsoft.Json] Newtonsoft.Json 序列化时的一些其它用法
    [C#] 获取计算机内部信息
    [Bug] 解决 Sql Server 数据库死锁问题
    Visual Studio提示“无法启动IIS Express Web服务器”的解决方法
    [svn] TortoiseSVN 图文操作
    [js] 如何 在 jQuery 中的 $.each 循环中使用 break 和 continue
    Redis 小白指南(三)- 事务、过期、消息通知、管道和优化内存空间
    Redis 小白指南(二)- 聊聊五大类型:字符串、散列、列表、集合和有序集合
    Redis 小白指南(一)- 简介、安装、GUI 和 C# 驱动介绍
    Redis 小白指南(四)- 数据的持久化保存(草稿)
  • 原文地址:https://www.cnblogs.com/zy6103/p/7084031.html
Copyright © 2011-2022 走看看