mirror of
https://github.com/ershisan99/www.git
synced 2026-01-05 12:35:28 +00:00
fix caching
This commit is contained in:
@@ -21,18 +21,12 @@ export class LeaderboardService {
|
||||
const pipeline = redis.pipeline()
|
||||
pipeline.del(zsetKey) // clear existing
|
||||
|
||||
for (const entry of fresh.alltime) {
|
||||
for (const entry of fresh) {
|
||||
// store by mmr for ranking
|
||||
pipeline.zadd(zsetKey, entry.data.mmr, entry.id)
|
||||
pipeline.zadd(zsetKey, entry.rank, entry.id)
|
||||
|
||||
// store user data separately for quick lookups
|
||||
pipeline.hset(`user:${entry.id}`, {
|
||||
name: entry.name,
|
||||
mmr: entry.data.mmr,
|
||||
wins: entry.data.wins,
|
||||
losses: entry.data.losses,
|
||||
// add other fields you need for quick lookup
|
||||
})
|
||||
pipeline.hset(`user:${entry.id}`, entry)
|
||||
}
|
||||
|
||||
pipeline.expire(zsetKey, 180)
|
||||
|
||||
@@ -11,11 +11,23 @@ const BMM_SERVER_ID = '1226193436521267223'
|
||||
|
||||
export const neatqueue_service = {
|
||||
get_leaderboard: async (channel_id: string) => {
|
||||
const response = await instance.get(
|
||||
`leaderboard/${BMM_SERVER_ID}/${channel_id}`
|
||||
)
|
||||
const res = await instance
|
||||
.get(`leaderboard/${BMM_SERVER_ID}/${channel_id}`)
|
||||
.json<LeaderboardResponse>()
|
||||
|
||||
return response.json<LeaderboardResponse>()
|
||||
//desc
|
||||
res.alltime.sort((a, b) => b.data.mmr - a.data.mmr)
|
||||
const fixed: Array<Data & { id: string; name: string }> = res.alltime.map(
|
||||
(entry, idx) => {
|
||||
return {
|
||||
...entry.data,
|
||||
rank: idx + 1,
|
||||
id: entry.id,
|
||||
name: entry.name,
|
||||
}
|
||||
}
|
||||
)
|
||||
return fixed
|
||||
},
|
||||
get_history: async (
|
||||
player_ids: string[],
|
||||
|
||||
Reference in New Issue
Block a user