namespace WIDESEAWCS_RedisService.Leaderboard
{
public interface ILeaderboardService
{
///
/// 添加或更新成员分数
///
bool AddOrUpdate(string boardName, string member, double score);
///
/// 增加成员分数
///
double IncrementScore(string boardName, string member, double increment);
///
/// 获取排名(从高到低,0开始)
///
long? GetRank(string boardName, string member);
///
/// 获取成员分数
///
double? GetScore(string boardName, string member);
///
/// 获取排行榜(从高到低)
///
List GetTopN(string boardName, int count);
///
/// 获取指定排名范围
///
List GetRange(string boardName, long start, long stop);
///
/// 移除成员
///
bool Remove(string boardName, string member);
///
/// 获取排行榜总人数
///
long GetCount(string boardName);
}
public class LeaderboardEntry
{
public string Member { get; set; } = string.Empty;
public double Score { get; set; }
public long Rank { get; set; }
}
}