草庐IT

分数线

全部标签

具有多个分数的 Redis 排序集 "columns"

我需要一个排行榜,其中存储用户的分数和级别完成度的百分比。我只需要能够按分数排序并按分数获得排名。使用Redis的排序集a可以像这样轻松地存储用户的分数:ZADDleaderboard:gamemode1100user1ZADDleaderboard:gamemode1300user2但是,我正在努力弄清楚如何最好地存储属于100和300分数的百分比值。我应该这样做吗:ZADDleaderboard:gamemode1100user1:29.45其中:29.45是用户1在gamemode1中得分为100的百分比?我认为这会使以后更新用户1的gamemode1分数变得复杂。或者我是否应该

nosql - redis 列表项、TTL 和按分数排名

我想按过去5000次浏览的页面点击率对博客文章进行排序。我正在试验以下内容(200、205、202是博客文章的ID):ZINCRBYblog_hits1200ZINCRBYblog_hits1200ZINCRBYblog_hits1200ZINCRBYblog_hits1205ZINCRBYblog_hits1205ZINCRBYblog_hits1202ZRANGEBYSCOREblog_hits09WITHSCORES这将给我查看次数最多的十个页面。唯一的问题是ZINCRBY似乎没有TTL或忽略超过5000次增量之前发生的增量的方法。有没有一种方法可以使用列表,添加博客ID的条目,

redis - 有什么方法可以使用字符串作为 Redis 排序集 (zset) 中的分数?

或者也许问题应该是:将字符串表示为数字的最佳方式是什么,以便对它们的数字表示进行排序会得到与按字符串排序相同的结果?我设计了一种方法,可以对每个字符串最多9个字符进行排序,但似乎应该有更好的方法。事先,我认为使用Redis的字典顺序命令行不通。(请参阅以下示例。)示例:假设我想对链接到某个ID的所有名称进行预排序,以便我可以使用ZINTERSTORE快速获取基于名称的ID有序列表(无需使用redis的SORT命令)。理想情况下,我会将ID作为zset的成员,每个名称的数字表示将是zset的分数。这有意义吗?还是我做错了? 最佳答案

redis - 排序集上的 redis zscan 是否应该返回按分数顺序排序的结果?

对于我正在处理的应用程序,我正在考虑使用Redis中的排序集来存储项目,其中时间戳作为分数,任意消息作为成员。然后我计划使用zscan来按顺序从排序集中检索项目。顺序对应用程序很重要,这就是我要使用排序集的原因。事情似乎进展顺利,直到我尝试使用zscan检索项目并且它们似乎出现故障。例如,我设置了一个测试,其中我使用整数值作为分数并将字符串表示形式作为成员(为简洁起见省略了初始化),将1000个项目添加到排序集中:for(inti=0;iresult=jedis.zscan("TEST_CHANNEL","0",newScanParams().count(10));我取回的元素似乎是随

Redis 排序集,获取所有分数小于 x 的成员

在Redis中,如何获取所有分数小于x的成员?完成该任务的时间复杂度是多少? 最佳答案 您可以使用ZRANGEBYSCOREredis命令。例如得分小于4的成员zaddmyset1"one"zaddmyset2"two"zaddmyset3"three"zaddmyset5"five"zaddmyset6"six"ZRANGEBYSCOREmyset-inf4结果:1)"one"2)"two"3)"three"也适用于分数大于4ZRANGEBYSCOREmyset4+inf结果:1)"five"2)"six"关于复杂性,由于redi

redis - 减少 Redis 中的分数或如果为 0 则删除

如何将排序集中一个Redis元素的分数减1,或者如果它的值为0则将其删除?目前我正在使用$redis.zincrbyuser_cart,-1,params[:product_id](Rails4.1.4),但我得到负值。提前致谢! 最佳答案 ZINCRBY的回复是新分数,所以你可以检查它并发出ZREM如果是 关于redis-减少Redis中的分数或如果为0则删除,我们在StackOverflow上找到一个类似的问题: https://stackoverflow

Redis:是否可以按其他键值对具有相同分数的有序集合结果进行排序

ZADDmyset1ad1ZADDmyset1ad2SETorder:ad11SETorder:ad22如何先按有序集分数排序,再按订单值排序? 最佳答案 如果你想存储一个结果(不改变数据存储的方式),那么你可以使用SORT命令。可以应用于zset。例如:>zaddmyset1albert>zaddmyset1joseph>zaddmyset4bertrand>zaddmyset2casimir>zaddmyset3alfred您可以按值排序:>sortmysetalpha1)"albert"2)"alfred"3)"bertran

redis - 给定成员子集,如何从 Redis 排序集中获得具有最大(或最小)分数的成员?

我正在编写一个算法来推断工作量最少的用户。根据正在创建的任务的类型/复杂性,我缩小了能够执行它的用户列表的范围。现在,我需要找到当前分配给他/她的任务最少的用户。我正在使用redis排序集来存储成员/用户以及指示分配给他们的任务数的分数。有没有办法在给定一部分成员的情况下获得得分最低的成员? 最佳答案 最低分成员:ZRANGEBYSCOREmyset-inf+infWITHSCORESLIMIT01得分最高的成员:ZREVRANGEBYSCOREmyset+inf-infWITHSCORESLIMIT01

c# - 将字符串转换为十进制,保留分数

我正在尝试将1200.00转换为decimal,但是Decimal.Parse()删除了.00。我尝试了一些不同的方法,但它总是会删除.00,除非我提供的分数不是0。stringvalue="1200.00";方法一varconvertDecimal=Decimal.Parse(value,NumberStyles.AllowThousands|NumberStyles.AllowDecimalPoint|NumberStyles.AllowCurrencySymbol);方法二varconvertDecimal=Convert.ToDecimal(value);方法三varconve

javascript - 有没有减少分数的JavaScript函数

假设我们有分数2/4,它可以减少到1/2。是否有一个JavaScript函数可以进行归约? 最佳答案 //ReduceafractionbyfindingtheGreatestCommonDivisoranddividingbyit.functionreduce(numerator,denominator){vargcd=functiongcd(a,b){returnb?gcd(b,a%b):a;};gcd=gcd(numerator,denominator);return[numerator/gcd,denominator/gcd