Redis
 sql >> база данни >  >> NoSQL >> Redis

Как да пренасочите изхода на абонамента за redis

Това е така, защото няма автоматично изтриване на stdout, когато redis-cli показва съобщенията, свързани с абонамента. Така че последните съобщения преди спирането на redis-cli не се появяват в изходния файл.

Няма опция, която можете да използвате, за да наложите систематично изчистване, redis-cli.c трябва да бъде закърпен. В изходния код на Redis редактирайте src/redis-cli.c и намерете следната част от кода. Добавете липсващата линия за промиване.

    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);
        }
    }

След като redis-cli бъде компилиран отново, той трябва да работи както се очаква.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. обработка на ситуации на redis maxmemory с релси, когато се използва кеширане на релси

  2. Как да коригирате ПРЕДУПРЕЖДЕНИЯ при стартиране на изображението на redis:alpine Docker

  3. Неуспешно стартиране на redis.service:Unit redis-server.service е маскиран

  4. Redis Keyspace Известия с flushdb

  5. redis:нулирайте брояча всеки ден