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

一度に多くのリクエストがあった場合、Redisは更新されません

    これは、redisサーバーの構成と関係がある可能性があります。

    ホストマシンのrediscliからMONITORを実行できます。

    通常、たとえばCLIを介して接続します:

    https://redis.io/topics/rediscli

    redis-cli -h <your server ip> -p <your server port> -a <if you have a server password enabled>
    
    $ redis-cli -h host -p port -a password
    

    デフォルトのポートは6379です

    これにより、redisサーバーとのすべてのやり取りが表示されますが、これを実行しないでください。常に実行するとパフォーマンスが低下しますが、トラブルシューティングには最適です。

    https://redis.io/commands/monitor

     $ redis> monitor
     1339518083.107412 [0 127.0.0.1:60866] "keys" "*"
     1339518087.877697 [0 127.0.0.1:60866] "dbsize"
     1339518090.420270 [0 127.0.0.1:60866] "set" "x" "6"
     1339518096.506257 [0 127.0.0.1:60866]
    

    これにより、問題がわかります。

    redis cliからINFOコマンドを実行して、サーバーの統計情報やメモリ使用量などの情報を確認することもできます。

    https://redis.io/commands/info

    redis> INFO
     # Server 
     redis_version 999.999.999
     redis_git_sha1:3c968ff0
     redis_git_dirty:0
     redis_build_id:51089de051945df4
     redis_mode:standalone 
     os:Linux 4.8.0-1-amd64 x86_64 
     arch_bits:64 
     multiplexing_api:epoll
     atomicvar_api:atomic-builtin 
     gcc_version:6.3.0
     process_id:8394
     </snip>
    

    また、コードでredisクライアントからのINCRBYコマンドを使用してください。そうしないと、非同期パターンと一致しない設定を行う前に、カウント値をインクリメントする必要があります。

    https://redis.io/commands/incrby

    あなたの問題はこれが非同期だからだと思いますよね?

    そのため、投稿されるとカウントが同期しなくなります。これは、一部のカウントが他のカウントよりも先に待機される可能性があるためです。

    いずれにせよ、それらを同期して投稿して違いが生じるかどうかを確認したい場合は、それが問題であり、この目的でredisINCRコマンドを使用する方がよいことがわかります。



    1. 一意のキーを追加した後でもMongoDBがドキュメントを複製する

    2. マングーススキーマの配列にデータを追加する方法

    3. RQ-キューを空にして削除する

    4. データベース自動化を開始する方法