我正在使用Spring Data Repository保存新的条目。每个条目有10秒的TTL。
当我保存带有索引的条目时,它在Redis中的样子如下:
127.0.0.1:6379> keys *
1) "job:campaignId:aa"
2) "job:a6d6e491-5d75-4fd0-bd8e-71692f6d18be"
3) "job:recipient:dd"
4) "job:a6d6e491-5d75-4fd0-bd8e-71692f6d18be:phantom"
5) "job:listId:cc"
6) "job:accountId:bb"
7) "job"
8) "job:a6d6e491-5d75-4fd0-bd8e-71692f6d18be:idx"
到期后,我仍然拥有数据:
127.0.0.1:6379> keys *
1) "job:campaignId:aa"
2) "job:recipient:dd"
3) "job:listId:cc"
4) "job:accountId:bb"
5) "job"
6) "job:a6d6e491-5d75-4fd0-bd8e-71692f6d18be:idx"
没有任何TTL。
为什么它们不自行删除?我该如何做到这一点?
enableKeyspaceEvents
需要特定的配置(在AWS、Azure或其他受限制的设置中不适用),并且在Redis集群上无法可靠地工作,因为keyspace通知是节点本地的。 - mp911de