sql >> Databasteknik >  >> NoSQL >> Redis

Hur man omdirigerar utdata från Redis-prenumeration

Detta beror på att det inte finns någon automatisk tömning av stdout när redis-cli visar meddelanden som är kopplade till prenumerationen. Så de sista meddelandena innan du stoppar redis-cli visas inte i utdatafilen.

Det finns inget alternativ du kan använda för att framtvinga en systematisk tömning, redis-cli.c måste korrigeras. I Redis källkod, redigera src/redis-cli.c och hitta följande kod. Lägg till den saknade flush-raden.

    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 väl har kompilerats igen bör det fungera som förväntat.




  1. MongoError:Alternativet 'markör' krävs, förutom för aggregering med förklara-argumentet

  2. mongodb lägg till räknare till varje hämtat dokument

  3. MongoDB kapslad uppslagning med 3 nivåer

  4. Få procentsatser med MongoDB sammanlagd $grupp