Add a limit to the leaderboard size
This commit is contained in:
@@ -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)
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user