mirror of
https://codeberg.org/yeentown/barkey
synced 2024-11-26 11:03:01 +00:00
upd: make hashtagservice compatible with redis 6.3
This commit is contained in:
parent
a5efe11350
commit
4fbd9dcfbf
1 changed files with 18 additions and 8 deletions
|
@ -176,18 +176,28 @@ export class HashtagService {
|
|||
|
||||
// チャート用
|
||||
redisPipeline.pfadd(`hashtagUsers:${hashtag}:${window}`, userId);
|
||||
redisPipeline.expire(`hashtagUsers:${hashtag}:${window}`,
|
||||
60 * 60 * 24 * 3, // 3日間
|
||||
'NX', // "NX -- Set expiry only when the key has no expiry" = 有効期限がないときだけ設定
|
||||
);
|
||||
|
||||
const TTLwindow = await this.redisClient.ttl(`hashtagUsers:${hashtag}:${window}`);
|
||||
|
||||
if (TTLwindow === -1) {
|
||||
redisPipeline.expire(`hashtagUsers:${hashtag}:${window}`,
|
||||
60 * 60 * 24 * 3, // 3日間
|
||||
//'NX', // "NX -- Set expiry only when the key has no expiry" = 有効期限がないときだけ設定
|
||||
);
|
||||
}
|
||||
|
||||
// ユニークカウント用
|
||||
// TODO: Bloom Filter を使うようにしても良さそう
|
||||
redisPipeline.sadd(`hashtagUsers:${hashtag}`, userId);
|
||||
redisPipeline.expire(`hashtagUsers:${hashtag}`,
|
||||
60 * 60, // 1時間
|
||||
'NX', // "NX -- Set expiry only when the key has no expiry" = 有効期限がないときだけ設定
|
||||
);
|
||||
|
||||
const TTL = await this.redisClient.ttl(`hashtagUsers:${hashtag}`);
|
||||
|
||||
if (TTL === -1) {
|
||||
redisPipeline.expire(`hashtagUsers:${hashtag}`,
|
||||
60 * 60, // 1時間
|
||||
//'NX', // "NX -- Set expiry only when the key has no expiry" = 有効期限がないときだけ設定
|
||||
);
|
||||
}
|
||||
|
||||
redisPipeline.exec();
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue