Add a limit to the leaderboard size

This commit is contained in:
2023-03-22 21:16:45 +01:00
parent 274661171b
commit 63fb8de947

View File

@@ -4,6 +4,7 @@ use std::env;
use std::sync::Arc;
const LEADERBOARD: &str = "leaderboard";
const LEADERBOARD_SIZE: isize = 10;
type LeaderboardEntry = (String, u32);
#[async_trait]
@@ -37,7 +38,7 @@ impl Leaderboard for RedisLeaderboard {
let mut con = self.client.get_async_connection().await?;
let count: isize = con.zcard(LEADERBOARD).await?;
let leaderboard: Vec<LeaderboardEntry> =
con.zrange_withscores(LEADERBOARD, 0, count - 1).await?;
con.zrange_withscores(LEADERBOARD, 0, (count - 1).min(LEADERBOARD_SIZE)).await?;
Ok(leaderboard)
}