これは、C++ クライアントであるRedisClientに関するものです。
Redis に整数を格納できないことは知っています (内部的に変換されます)。
RedisSyncClient::command 自体は整数をサポートしていません。RedisBuffer は int で初期化できないため、次のようになります。
redis->command("SET", "mykey", 1);
コンパイルされません (数値を文字列として追加する必要があります)。
ただし、RedisValue は int で初期化でき (いつ使用されるかは不明)、公開されている「toInt()」メソッドが含まれています。
redis->command("SET", "mykey", "1");
result = redis->command("GET", "mykey");
cout << "INT: " << result.toInt() << " , STR: " << result.toString() << endl;
知力:0、力力:1
最初は内部で文字列をintに変換しているのかと思ったのですが、必ず「0」を返します。「RedisValue.isInt()」をテストすると、「false」が返されるため、数値の認識に失敗しているようです。
- 数値が (このライブラリによって) 文字列としてのみ表示される場合、「toInt()」の意図は何ですか?
- 私はそれを間違って使用していますか?
- これは開発中の機能ですか?