Redis:如何在24小时后使排序集合中的项目过期?

ryevplcw  于 2023-10-15  发布在  Redis
关注(0)|答案(1)|浏览(139)

我在我的NestJs应用程序中使用Redis,并使用zadd推送某些值。
我想知道如何为推送到集合中的每个项目设置过期时间,并在24小时后过期。我尝试了下面的代码,但它似乎删除了排序集合中的所有项目。
//将项目推入已排序的集合

redis.zadd(`Notifications`, Date.now(), JSON.stringify(data));

//从排序集合中删除过期项

redis.zremrangebyscore(`Notifications(${key})`, '-inf', Date.now());
jvlzgdj9

jvlzgdj91#

能够通过执行以下操作解决此问题
//将项目推入已排序的集合

redis.zadd(`Notifications`, moment().add(86400, 'seconds').unix(), JSON.stringify(data));

//从排序集合中删除过期项

redis.zremrangebyscore(`Notifications(${key})`, '-inf', moment().unix());

相关问题