2017-02-15 20 views
4

Redisはシングルスレッドですが、高速です。本来、API呼び出しが並行しているため、RedisデータベースをAPI呼び出しに使用できますか? Redisは複数のAPI呼び出し要求を処理できますか?API呼び出しのRedis

答えて

6

はい、複数の並行API呼び出しをサポートする必要があるシステムでは、データベースでRedisを使用できます。

使用するフレームワークと言語を使用してAPI呼び出しを実装する場合、API実装でRedisにリクエストする必要がある場合、その呼び出しは要求が処理されるまでソケットの受け入れキューで待機します。

多くの大規模なウェブサイトでは、提案する方法でAPIを実装するためのデータベースとしてRedisを使用しています。

+0

しかし、要求がキューになり、そしてそれは、これらの要求を処理する時間がかかります。したがって、ユーザは応答のためにしばらく待たなければならない。この問題を解決する方法はありますか? –

+1

Redisへのあなたのリクエストは、通常、1ミリ秒未満で提供されます。これは、API呼び出しの一部として実行する必要がある他の操作と比べてかなり速いです。 Redisのパフォーマンスを向上させるために要求負荷を分散させる方法はさまざまですが、より具体的な問題の記述でパフォーマンスの問題に対処する方が簡単です。 –

1

はい、使用できます。

Redisは非常に高速です。 benchmarkをご覧ください。さらに、クラスタ化とパーティショニングによって、Redisを水平方向にスケールできます。

パーティション化により、複数のコアと複数のコンピュータへの計算能力、および複数のコンピュータとネットワークアダプタに対するネットワーク帯域幅のスケーリングが可能になります。

https://redis.io/topics/partitioning

https://redis.io/topics/cluster-tutorial

関連する問題