revert: trending support for redis 6.3

It seems this change has caused redis to periodically crash on big instances
This commit is contained in:
Mar0xy 2023-11-09 14:51:19 +01:00
parent 49e3a31bba
commit fd51854670
No known key found for this signature in database
GPG key ID: 56569BBE47D2C828
2 changed files with 13 additions and 29 deletions

View file

@ -35,16 +35,10 @@ export class FeaturedService {
`${name}:${currentWindow}`,
score,
element);
const TTL = await this.redisClient.ttl(`${name}:${currentWindow}`);
if (TTL === -1) {
this.redisClient.expire(`${name}:${currentWindow}`,
(windowRange * 3) / 1000, // 1時間
//'NX', // "NX -- Set expiry only when the key has no expiry" = 有効期限がないときだけ設定
);
}
redisTransaction.expire(
`${name}:${currentWindow}`,
(windowRange * 3) / 1000,
'NX'); // "NX -- Set expiry only when the key has no expiry" = 有効期限がないときだけ設定
await redisTransaction.exec();
}

View file

@ -176,30 +176,20 @@ 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" = 有効期限がないときだけ設定
);
// ユニークカウント用
// 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" = 有効期限がないときだけ設定
);
await redisPipeline.exec();
const TTL = await this.redisClient.ttl(`hashtagUsers:${hashtag}`);
if (TTL === -1) {
this.redisClient.expire(`hashtagUsers:${hashtag}`,
60 * 60, // 1時間
//'NX', // "NX -- Set expiry only when the key has no expiry" = 有効期限がないときだけ設定
);
}
const TTLwindow = await this.redisClient.ttl(`hashtagUsers:${hashtag}:${window}`);
if (TTLwindow === -1) {
this.redisClient.expire(`hashtagUsers:${hashtag}:${window}`,
60 * 60 * 24 * 3, // 3日間
//'NX', // "NX -- Set expiry only when the key has no expiry" = 有効期限がないときだけ設定
);
}
redisPipeline.exec();
}
@bindThis