我需要过期所有在Redis哈希表中超过1个月的键。
redis 127.0.0.1:6379> hset key f1 1
(integer) 1
redis 127.0.0.1:6379> hset key f2 2
(integer) 1
redis 127.0.0.1:6379> hvals key
1) "1"
2) "1"
3) "2"
redis 127.0.0.1:6379> expire key 10
(integer) 1
redis 127.0.0.1:6379> hvals key
1) "1"
2) "1"
3) "2"
redis 127.0.0.1:6379> hvals key
1) "1"
2) "1"
3) "2"
redis 127.0.0.1:6379> hvals key
hset key-20140325 f1 1
expire key-20140325 100
hset key-20140325 f1 2
psubscribe
和"__keyevent@<DB-INDEX>__:expired"
。每当一个键过期时,将在您的redis连接上发布一条消息。set
创建一个具有以秒/毫秒为单位的到期时间的临时“普通”键。它应该与您希望从集合中删除的键的名称匹配。"__keyevent@0__:expired"
发布到您的redis连接中,因此您可以轻松地从原始集合中删除您的键,因为该消息将具有键的名称。文档:https://redis.io/topics/notifications(查找标志 xE)
static async setCount(ip: string, count: number) {
const val = await redisClient.hSet(ip, 'ipHashField', count)
await redisClient.expire(ip, this.expireTime)
}
尝试使您的密钥过期。