嘿,我目前正在制作一款拥有超过100万用户的游戏,我有一段时间的排行榜,通过他们的杀戮/死亡/连杀以及更多使用MySQL来排名别人,但是做所有这些SQL调用并没有似乎很好,所以我开始玩Redis。
以下是我的选择。
例如,使用ZADD存储所有数据,然后全部抓取并使用ZRANGE和ZRANK查找等级
put player_kills player1 100
put player_deaths player_2 200
然而我遇到的问题是,例如,如果我只想超过10次击杀的玩家怎么办?我应该开始在哈希中存储用户数据并从那里排序吗?如果您有任何我可以使用的示例或想法,请告诉我。
答案 0 :(得分:1)
要使用排序集数据结构,您需要调用Redis' ZADD
command如下(不是分数在成员之前):
ZADD player_kills 100 player1
一旦您记录了所有杀戮,您可以使用ZRANGEBYSCORE
command查询并在您的情况下:
ZRANGEBYSCORE player_kills 10 +inf
答案 1 :(得分:0)
如果您只想要超过10次击杀的玩家,请使用zrangebyscore,如下所示:
ZRANGEBYSCORE player_kills 10 20