草庐IT

mysql - 如何将 "top 10"列表从 SQL 转换为 NoSQL

我有一个在线游戏,目前正在使用MySQL。我有一个看起来像这样的玩家表:createtableplayer(idintegerprimarykey,namevarchar(50),scoreinteger);我在“分数”列上有一个索引并显示这样的排名:selectid,name,scorefromplayerorderbyscoredesclimit100我想将我的系统迁移到Redis(或者,如果其他一些NoSQL更适用于此类问题,请告诉)。所以我想知道如何有效地显示这种排名表?AFAICT,这可能是一个Map/Reduce作业?我对Map/Reduce几乎一无所知,尽管我阅读了一些我

data-structures - Redis 中的相交排序集

我在Redis中有一个排序集,其中包含如下所示的值:ZADDranking10KyleNeathZADDranking11CameronMcEfeeZADDranking12BenBliekampZADDranking13JustinPalmerZADDranking20CameronMcEfeeZADDranking21JustinPalmerZADDranking22KyleNeathZADDranking23BenBliekamp...等等。有没有办法获取某个人的分数并以列表形式返回?例如,调用KyleNeath将返回[0,2]。我是否应该对此进行不同的建模以实现相同的目标?

data-structures - Redis 中的相交排序集

我在Redis中有一个排序集,其中包含如下所示的值:ZADDranking10KyleNeathZADDranking11CameronMcEfeeZADDranking12BenBliekampZADDranking13JustinPalmerZADDranking20CameronMcEfeeZADDranking21JustinPalmerZADDranking22KyleNeathZADDranking23BenBliekamp...等等。有没有办法获取某个人的分数并以列表形式返回?例如,调用KyleNeath将返回[0,2]。我是否应该对此进行不同的建模以实现相同的目标?

php - 如何使用 Reddit 和 Hacker News 排名算法?

我最近一直在研究排名算法,特别是Reddit和HackerNews使用的算法。算法本身很简单,但我不太明白它们是如何使用的。我可以做的一件事是直接在SQL中实现该算法,这样每次用户访问显示排名帖子的页面时,都会运行以下操作:SELECTthing1,thing2FROMtableORDERBYranking_algorithmDESCLIMITpage*20,20关于SO有几个类似的问题,但给出的唯一答案是将排名算法放在SQL查询中。然后线程死了......把算法放在SQL查询中小范围的罚款,但是如果网站有大量的用户和非常多的帖子怎么办?这意味着每次任何用户打开显示排名帖子的页面时,都

php - 如何使用 Reddit 和 Hacker News 排名算法?

我最近一直在研究排名算法,特别是Reddit和HackerNews使用的算法。算法本身很简单,但我不太明白它们是如何使用的。我可以做的一件事是直接在SQL中实现该算法,这样每次用户访问显示排名帖子的页面时,都会运行以下操作:SELECTthing1,thing2FROMtableORDERBYranking_algorithmDESCLIMITpage*20,20关于SO有几个类似的问题,但给出的唯一答案是将排名算法放在SQL查询中。然后线程死了......把算法放在SQL查询中小范围的罚款,但是如果网站有大量的用户和非常多的帖子怎么办?这意味着每次任何用户打开显示排名帖子的页面时,都

威尔逊分数区间的 Python 实现?

看完HowNottoSortbyAverageRating,我很好奇是否有人对伯努利参数有威尔逊分数置信区间下限的Python实现? 最佳答案 Reddit使用Wilson得分区间进行评论排名,解释和python实现可以找到here#Rewrittencodefrom/r2/r2/lib/db/_sorts.pyxfrommathimportsqrtdefconfidence(ups,downs):n=ups+downsifn==0:return0z=1.0#1.44=85%,1.96=95%phat=float(ups)/nret

威尔逊分数区间的 Python 实现?

看完HowNottoSortbyAverageRating,我很好奇是否有人对伯努利参数有威尔逊分数置信区间下限的Python实现? 最佳答案 Reddit使用Wilson得分区间进行评论排名,解释和python实现可以找到here#Rewrittencodefrom/r2/r2/lib/db/_sorts.pyxfrommathimportsqrtdefconfidence(ups,downs):n=ups+downsifn==0:return0z=1.0#1.44=85%,1.96=95%phat=float(ups)/nret

mysql - 在 GROUP BY 中使用 LIMIT 来获得每组 N 个结果?

以下查询:SELECTyear,id,rateFROMhWHEREyearBETWEEN2000AND2009ANDidIN(SELECTridFROMtable2)GROUPBYid,yearORDERBYid,rateDESC产量:yearidrate2006p0182003p017.42008p016.82001p015.92007p015.32009p014.42002p013.92004p013.52005p012.12000p010.82001p0212.52004p0212.42002p0212.22003p0210.32000p028.72006p024.62007p0

mysql - 在 GROUP BY 中使用 LIMIT 来获得每组 N 个结果?

以下查询:SELECTyear,id,rateFROMhWHEREyearBETWEEN2000AND2009ANDidIN(SELECTridFROMtable2)GROUPBYid,yearORDERBYid,rateDESC产量:yearidrate2006p0182003p017.42008p016.82001p015.92007p015.32009p014.42002p013.92004p013.52005p012.12000p010.82001p0212.52004p0212.42002p0212.22003p0210.32000p028.72006p024.62007p0

redis - Redis 的 "Score"和 "Ranking"功能集的用例

Redis的“分数”和“排名”功能集有哪些用例(除了游戏的典型“排行榜”示例?我正在尝试弄清楚如何利用这些动态新功能作为我预计将从使用传统的关系数据库转向使用Redis作为持久性数据存储。 最佳答案 ZSET非常适合基于分数的选择或范围,但分数可以是任何数值,例如时间戳。我们将所有美国股票的每日股价存储在redis中。这是ebay的示例...ZADDkeyscoremember[scoremember...]...ZADDstocks:ebay130.39232.70331.25431.75529.12629.87729.93这种情