草庐IT

sort_options

全部标签

Redis SET with option, 没有过期

我正在编写一个将key存储在Redis或Memcached中的库。为了保持通用性,我想对所有设置操作使用SET,但我正在努力寻找等同于“不过期”的到期值。我可以发送标记值吗?例如,如果过期时间为100,我想发送:SETmyKeymyValueex100NX但如果没有到期,我宁愿这样做SETmyKeymyValueex-1NX而不是SETNXmyKeymyValue有趣的是,似乎没有任何方法可以在没有到期的情况下使用XX选项执行与SET等效的操作。 最佳答案 只需发送设置命令而不EX选项。SetkeyvalueNX

redis - 使用 Redis Sorted Sets 作为队列

我们正在为我们的平台构建一个PushAPI,并期望它每分钟推送大量的Webhook事件(有些是数千个)。两个相同的事件可能会在彼此相隔几毫秒的时间内创建,我们希望将它们聚合在一起。目标:尽我们所能聚合相同的事件,以便这些事件中的2个或更多事件只会产生一个工作。免除创建作业的客户的聚合责任。综上所述,在我们可能有16个进程排队作业的设置中,使用Redis有序集有用吗?我正在考虑使用时间戳作为分数,并通过如下命令不断“弹出”项目:MULTIZRANGEqueue0{demand-1}ZREMRANGEBYRANKqueue0{demand-1}EXEC但我不确定性能成本或其他考虑因素。有人

redis - 在 Redis 中,是否可以跨多个 Sorted Sets 对成员进行排序?

我在Redis中跟踪多个SortedSets中的成员,作为对成员进行多列索引的一种方式。例如,假设我有两个排序集,lastseen(这是纪元时间)和points,我将用户名存储为这些有序集中的成员。我想先按lastseen排序所以我可以在最后一天或一个月内看到用户,然后我想按points对结果成员进行排序所以我有效地让成员在最后一天或一个月内按积分排序。如果我可以将调用ZREVRANGEBYSCORE的结果存储到新的排序集(我们将调用新的排序集temp),这会很容易,因为这样我就可以对lastseen进行排序有限制,将结果存储到temp,对temp使用ZINTERSTORE和point

sorting - Redis 基于分数和日期时间排序的集合作为决胜局?

我想使用redis的排序集作为排行榜。但是使用ZREVRANGE0x,我只能从分数中获得前x(基于分数的升序排序集的末尾),使用默认的决胜局,来自官方redis文档:Lexicographicalorderisusedforelementswithequalscore.我需要的决胜局是分数条目的日期时间。例如submits(inorder)redissortsitasIneedUser1--Score50User1User1User3--Score40User2User3User2--Score40User3User2我看到的唯一解决方案是将最后一次更新的日期时间存储在条目上,但仍然使

sorting - Redis:将多个 HSET 排序集分组并汇总为一个排序集

如果我有两个排序集,具有不同分数的不同成员集:ZADDset110"player1"ZADDset115"player2"ZADDset15"player3"ZADDset230"player1"ZADDset222"player3"我需要通过将所有玩家的共同分组并总结他们的分数来合并上述2组,并得到这样的结果:set340"player1"set315"player2"set327"player3"我尝试过的一种方法是将这些数据提取到Ruby对象中并执行分组逻辑。我正在寻找在Redis中执行此操作的方法。 最佳答案 你很幸运,因为

Redis 数据库即服务 : What options one have?

很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visitthehelpcenter.关闭11年前。将Redis作为服务使用有哪些选项?编辑:redistogo.com就是其中之一

redis - 使用 Redis Sorted Sets 实现 Dense Rank

我正在尝试实现一个带有排名的排行榜,数据作为排序集存储在Redis中。我想弄清楚的部分是如何实现密集(即“1-2-2-3”)排名,例如,用户排名如下:ScoreUserRank---------------------22user1121user2221user3221user4220user5320user63这个答案:https://stackoverflow.com/a/14944280/2177几乎是我所需要的,但它相当于“1-2-2-4”排名,这对我的应用程序来说是不可取的,例如:1-2-2-4RankingScoreUserRank---------------------

sorting - 在 Redis 中缓存可排序/可过滤的数据

我有各种各样的数据缓存在标准的RedisHashMap中,我遇到了需要响应客户端排序和过滤请求的情况。名称、平均评级和评论数量的订单排名可以定期更改(可能一分钟多次)。谁能建议我解决这个问题的正确策略?考虑以下示例以帮助理解我在寻找什么:客户端向/api/v1/cookbooks?orderBy=name&limit=20&offset=0发出API请求我应该回复前20个条目,按姓名排序到目前为止我考虑过的策略:对于每种类型的HashMap存储(食谱、食谱等),从PostgresORDERBY为每个排序方案(字母顺序、平均评分等)创建一个排序集;然后根据limit和offset拉出ZR

Redis 向 Sorted Set 添加多个项目

我正在关注这个Redis教程http://redis.io/topics/twitter-clone他们在页面末尾声明Note:LRANGEisnotveryefficientifthelistofpostsstarttobeverybig,andwewanttoaccesselementswhichareinthemiddleofthelist,sinceRedisListsarebackedbylinkedlists.Ifasystemisdesignedfordeeppaginationofmillionofitems,itisbettertoresorttoSortedSets

redis - 获取 Sorted Set 中的所有成员

我有一个已排序的集合,想要获取集合的所有成员。如何确定命令的最大/最小分数:zrangekeyminmax? 最佳答案 你很幸运,因为zrange不取分数,只取指数。0是第一个索引,-1将被解释为最后一个索引:zrangekey0-1要按分数获得范围,您可以调用zrangebyscore相反——-inf和+inf可分别用于表示负无穷大和正无穷大,正如DidierSpezia在他的评论中指出的那样:zrangebyscorekey-inf+inf 关于redis-获取SortedSet中的