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

Sådan omdirigeres output fra Redis-abonnement

Dette skyldes, at der ikke er nogen automatisk skylning af stdout, når redis-cli viser de beskeder, der er knyttet til abonnementet. Så de sidste meddelelser før stop af redis-cli vises ikke i outputfilen.

Der er ingen mulighed du kan bruge til at gennemtvinge en systematisk flush, redis-cli.c skal lappes. I Redis kildekode, rediger src/redis-cli.c, og find følgende stykke kode. Tilføj den manglende flush-linje.

    if (config.pubsub_mode) {
        if (config.output != OUTPUT_RAW)
            printf("Reading messages... (press Ctrl-C to quit)\n");
        while (1) {
            if (cliReadReply(output_raw) != REDIS_OK) exit(1);
            // The following line must be added
            fflush(stdout);
        }
    }

Når redis-cli er blevet kompileret igen, skulle det fungere som forventet.




  1. Geografisk distribuerede MongoDB-replikasæt til 100 % oppetid

  2. Operationel databasesikkerhed – del 1

  3. mongo 3 dubletter på unikt indeks - dropDups

  4. Kan ikke oprette forbindelse til redis-server fra docker-container