sql >> Database teknologi >  >> NoSQL >> Redis

Redis - Udløbne indekser slettes ikke

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.




  1. Sådan implementeres MongoDB indlejret $elemMatch Query i C#

  2. Hvordan udelukker man dokumenter fra søgeresultater med felter, der ikke er til stede i forespørgslen?

  3. MongoDB, Mongoose:Hvordan finder man underdokument i fundet dokument?

  4. Indstil standarddato ved indsættelse af dokument med time.Time felt