sql >> データベース >  >> NoSQL >> Redis

redisサブスクリプションの出力をリダイレクトする方法

    これは、redis-cliがサブスクリプションに関連付けられたメッセージを表示するときにstdoutの自動フラッシュがないためです。そのため、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. 最高のMongoDBGUIはどれですか? —2019アップデート

    2. MongoDBは行方不明の日を埋めます

    3. sslを介してセロリからredisに接続した後、応答がありません

    4. Springブートスターターデータの残り、@Notnull制約が機能しない