Jeg kunne finde løsningen til at slette nøglerne :phantom og :idx .
I Redis-konfigurationsklassen skal følgende indsættes:
@Configuration
@EnableRedisRepositories(enableKeyspaceEvents = EnableKeyspaceEvents.ON_STARTUP, basePackages = {
"com.aaaaa.bbbbb.persistence.model.repository" }, keyspaceNotificationsConfigParameter = "")
Når du indstiller "keyspaceNotificationsConfigParameter"-attributten til den tomme streng, udføres CONFIG-kommandoen, der ikke virker i AWS Redis, ikke, men på denne måde instansieres Expiration Event Listener.
Denne attribut giver en standardværdi (Ex), som får kommandoen CONFIG til at blive udført.
Dette sker med følgende springkode:
public void init() {
if (StringUtils.hasText(keyspaceNotificationsConfigParameter)) {
RedisConnection connection = listenerContainer.getConnectionFactory().getConnection();
try {
Properties config = connection.getConfig("notify-keyspace-events");
if (!StringUtils.hasText(config.getProperty("notify-keyspace-events"))) {
connection.setConfig("notify-keyspace-events", keyspaceNotificationsConfigParameter);
}
} finally {
connection.close();
}
}
doRegister(listenerContainer);
}
Hvordan denne betingelse ikke er opfyldt
if (StringUtils.hasText(keyspaceNotificationsConfigParameter)) {
CONFIG-kommandoen udføres ikke.
Jeg synes, foråret bør forbedre dette og ikke få det til at flyde, baseret på at indstille en attribut med en tom streng.
Det eneste, der også er nødvendigt, er, at i AWS ElastiCache (Redis) sættes en værdi til parameteren "notify-keyspace-events", såsom AKE, hvilket betyder, at alle hændelser vil blive notificeret.