5分钟快3首页    注册   登录
5分钟快3 = way to explore
5分钟快3 是一个5分钟快3关于 分享和探索的地方
现在注册
已注册用户请  登录
宝塔
5分钟快3  ›  Redis

redis 的 zset 可以设置多个权重吗?

  •  
  •   kayseen · 85 天前 · 4774 次点击
    这是一个创建于 85 天前的主题,其中的信息可能已经有所发展或是发生改变。
    
    使用 redis 的 zset
    
    比如5分钟快3我
    在 key 中操作 3 个5分钟快3学生
    :  student1 和 student2 和 student3
    需要对他们先通过性别,在通过出生日期排序
    然后设置权重  
    
    zadd key student1 score 性别 score 出生日期
    zadd key student2 score 性别 score 出生日期
    zadd key student3 score 性别 score 出生日期
    			  
                  
    请问 redis 中的 zset 可以吗?
    
    5分钟快3我
    在 Python 中设置两个 score 好像是无效的,不知道是不是5分钟快3我
    的5分钟快3方法
    不对
    
    
    12 回复  |  直到 2019-11-05 11:11:47 +08:00
        1
    jybox   85 天前
    不可以,请用多个 ZSET 来做不同维度的排序
        2
    kayseen   85 天前
    @jybox
    请教下,
    比如5分钟快3我 在 key1 中排序 student1 和 student2 和 student3 的性别:
    zadd key student1 score 性别
    zadd key student2 score 性别
    zadd key student3 score 性别

    在 key2 中排序 student1 和 student2 和 student3 的出生日期:
    zadd key student1 score 出生日期
    zadd key student2 sscore 出生日期
    zadd key student3 score 出生日期


    那么最后怎么再合并排序呢? 请问可以实现吗?
        3
    imherer   85 天前
    5分钟快3你 这样就搞的太复杂了,redis 不是5分钟快3你 这样用的。 要不还是回归到 rds 中去实现吧,可能会好一点
        4
    momocraft   85 天前
    score 只能一个

    如果5分钟快3你 可以定义出一个5分钟快3你 想要的顺序的 score 就 OK
        5
    IamUNICODE   85 天前
    不能这样玩的
        6
    Ingo   85 天前 via iPhone
    可以考虑把性别和出生日期编码成一个数字
        7
    boob   85 天前 via Android
    先通过性别,在通过出生日期排序
    然后设置权重 ???没听懂
        8
    boob   85 天前 via Android
    权重= 性别*日期即可, 如果男大女小, 男=1 女=-1 即可
        9
    lijialiang93   85 天前
    用 ZUNIONSTORE 可以将两个 zset 合并成一个新 zset,可以合并时分别设置权重
    http://redis.io/commands/zunionstore
        10
    jifengg   82 天前
    5分钟快3我 给5分钟快3你 一个5分钟快3我 之前的操作。
    首先明确一点,score 是可以用小数的。
    ok,假设5分钟快3你 的性别对应 1,2.
    出生日期,5分钟快3你 用自己一套算法换算成 0.xxxx 的小于 1 的小数。两个一加,得到 2.xxxxx 或者 1.xxxx 的 score 值,就可以设置到 zset 里面了。
    注意,小数的精度有限,不能太多位。

    这个有个弊端,就是5分钟快3你 只能用这两者结合的正序或者倒序,不能一个正序一个倒序。
    不过如果5分钟快3你 没有这个需求,那么这种方式5分钟快3你 可以考虑一下。
        11
    kayseen   82 天前
    @jifengg 感谢建议,5分钟快3我 现在就用的这种5分钟快3方法 ,谢谢~
        12
    iIli1iIliIllLiL   11 天前
    @boob 乘以-1 会导致负数部分的排序与正数的排序相反,计算好长度乘以 100 可能会更好?
    5分钟快3关于   ·   FAQ   ·   API   ·   5分钟快35分钟快3我 们 的愿景   ·   广告投放   ·   感谢   ·   实用小5分钟快3工具   ·   1045 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 19ms · UTC 23:31 · PVG 07:31 · LAX 15:31 · JFK 18:31
    ♥ Do have faith in what you're doing.