Node-redis: 奇妙なERR値は有効なフロートメッセージではありません

作成日 2015年01月01日  ·  7コメント  ·  ソース: NodeRedis/node-redis

NodeJSとRedisの使用(BlueBirdを介して約束)。

一貫性のないエラーが発生する:

おそらく未処理のエラー:ERR値は有効なフロートではありません
ReplyParser.RedisClient.init_parser(/home/adam/Deep-Ads/node_modules/redis/index.js:317:31)

何か案は?

invalid question

最も参考になるコメント

zaddステートメントを確認してください。 KEY、SCORE、VALUE。
スコアと値を交換している必要があります

全てのコメント7件

これを再現する方法はありますか?

本番環境で余裕がある場合は、debug_modeを設定して実行すると便利です。 これにより、すべての生のプロトコルデータがクライアントにログインおよびクライアントからログアウトされます。 このエラーの直前にどのデータが読み取られているかがわかっていれば、修正するのは非常に簡単です。

私もこの問題を抱えています。 何を見つけましたか?

zaddステートメントを確認してください。 KEY、SCORE、VALUE。
スコアと値を交換している必要があります

@twappworld @ganeshnaiduからのコメントはあなたを助けましたか?

誰かがこの問題を見つけて、私と同じ問題を抱えていた場合に備えて...

設定する前に複数の値を組み合わせてスコアを取得していましたが、値の1つがNaNであったため、このエラーが発生していました。 NaN修正した後、問題は解決しました。

'c'hiredisインフラストラクチャを使用するとエラーが発生しますが、同じ文字列でredis-cliを使用すると正常に返されます。

redis-cli:
127.0.0.1:6379> ZADD modbus- alarm:0 0 1548650706: "7.11"の低電圧アラーム
(整数)1

ただし、redisCommand関数に発行された次の文字列はエラーになり、データが挿入されないようです... redisCommandの文字列を作成したときに、一重引用符と二重引用符の両方を試しました。

ZADD modbus- alarm:0 0 1548650706: "7.11"の低電圧アラーム
Redisメッセージ:ERR値は有効なフロートではありませんタイプ:6

考え?

zaddステートメントを確認してください。 KEY、SCORE、VALUE。
スコアと値を交換している必要があります

@ fa1d87bc7f85769ea9dee2e4957321ae zadd queues:checkin:reserved process_id 1何が問題になっていますかそれでも問題が発生します。

このページは役に立ちましたか?
0 / 5 - 0 評価