zoukankan      html  css  js  c++  java
  • 解决Redis Cluster模式下的排序问题

    通常的redis排序我们可以这么做:

    比如按商品价格排序:sort goods_id_set by p_*_price

    这样在非集群模式下是没问题的,但如果在集群模式下,就会报错:

    说是在集群模式下不能用sort的by子句,因为在集群模式下,上面的p_*_price匹配的key可能分布在不同的节点的slot中,所以无法做到排序。

    那怎么办咧?别急,办法还是有的,我们就用 SortedSet

    怎么用呢?很简单,看代码:

    我们先添加几个商品,并赋上价格

    zadd goods_prices 10 1 //商品id为1,价格为10元

    zadd goods_prices 20 2 //商品id为2,价格为20元

    zadd goods_prices 15 3 // 商品id为3,价格为15元

    zadd goods_prices 5 4  // 商品id为4 价格为5元

    然后排序:

    1. zrange goods_prices 0,9999999 //按价格从低到高排序

    2. zrevrange goods_prices 0,9999999 //按价格从高到低排序

    打印结果:

    1.  4,1,3,2

    2.  2,3,1,4

    然后再通过这些id去get商品信息就可以了

  • 相关阅读:
    js验证数字
    两个数组的交集 II---简单
    只出现一次的数字---简单
    存在重复---简单
    旋转数组---简单
    买股票的最佳时机 II---简单
    从排序数组中删除重复项---简单
    开始日常一题leetcode
    第二章 Internet地址结构
    2.2线程
  • 原文地址:https://www.cnblogs.com/itbole/p/5333891.html
Copyright © 2011-2022 走看看