替换tanxian的redis缓存

This commit is contained in:
ciniao 2023-12-26 14:03:15 +08:00
parent a0043e1080
commit 5f81ba1189
2 changed files with 10 additions and 19 deletions

View File

@ -19,18 +19,8 @@ export async function clearGud(uid) {
G.ioredis.del(`gudVersion:${uid}_ver`);
}
if (await G.redis.type('tanxian', uid)) {
console.log('清空tanxian Redis', uid);
// G.redis.del("tanxian", uid);
G.redis.set('tanxian', uid, {})
}
try {
// console.log('清空friend:list Redis', uid);
// G.redis.hDel("friend:list", uid);
// G.redis.hSet('friend:list', uid, {})
} catch (e) {
}
//清空探险缓存
G.ioredis.del(`tanxian:${uid}`);
};
/**

View File

@ -9,21 +9,22 @@ export class TanXianFun {
static async changeData(call: ApiCall, change: dataChange) {
G.mongodb.collection('tanxian').updateOne({ uid: call.uid }, { $set: { ...change } });
for (let k in change) {
G.redis.set('tanxian', call.uid, k as any, change[k]);
}
let data = await this.getData(call);
Object.assign(data, change);
G.ioredis.set(`tanxian:${call.uid}`, JSON.stringify(data));
}
/**获取探险数据 */
static async getData(call: ApiCall, cache = true) {
if (cache && await G.redis.type('tanxian', call.uid) != null) return await G.redis.get('tanxian', call.uid);
if(cache){
let data = await G.ioredis.get(`tanxian:${call.uid}`);
if (data) return JSON.parse(data);
}
let { _id, uid, ...data } = await G.mongodb.collection('tanxian').findOne({ uid: call.uid });
if (!data.eventTime) {
data.eventTime = G.time;
G.mongodb.collection('tanxian').updateOne({ uid: call.uid }, { $set: { eventTime: G.time } });
}
await G.redis.set('tanxian', call.uid, data);
await G.ioredis.set(`tanxian:${call.uid}`, JSON.stringify(data));
return data;
}
/**获取快速探险次数 */