【发布时间】:2015-02-17 18:38:09
【问题描述】:
我是 Redis 新手。我想通过 Java 客户端在 Redis 中使用优先级队列。我将有一组键值对。并将其用作优先队列。
数据集包含键及其对应的值。例如 [a:1,b:1,c:1]。值字段将表示键在数据集中出现的次数。如果将另一个键“a”插入数据集中,则它变为 [a:2,b:1,c:1]。
这里是优先级。集合中存在的大多数键将具有最高优先级,在示例中它的 [a],它应该位于队列的顶部。所以当我弹出队列时,应该弹出具有最高优先级的元素。
另外,如果数据集看起来像这样 [a:2,b:2,c:2],那么我想随机选择一个从队列中弹出。
由于我的数据集是键值对,我想使用 Redis[你可能会推荐一个更好的]。
【问题讨论】:
-
Java 的 PriorityQueue 怎么样?
-
是的,我确实想过,但是在优先级队列中,最高优先级将坐在队列的底部。我想要相反的结果。
-
您确定优先级队列中的顺序,因此如果不是您想要的顺序,请更改您提供给队列的比较器。