0

私の理解では、Redis は完全にメモリ内で実行され、データをディスクに同期するだけです。これが、Redis が非常に高速である主な理由です。

彼らのサイトは、仮想メモリは非推奨であると述べており、その声明を取り巻く散文は、彼らの近い将来の計画には、システムメモリよりも大きなデータベースの継続的なサポートが含まれていないことを示しているようです (正直なところ、私がほとんどのデータベースを説明しています)。正規化の利点を持つ RDBMS でさえも使用してきました)。

これは、Redis が、合理的にデータ密度の高いアプリケーションやトラフィックの多いアプリケーションのプライマリまたは唯一のデータ ストアの適切な (長期的な) 候補でなくなったことを意味しますか? SQL/Mongo/Raven/etc に固執する必要がありますか。メインイベントには Redis のみを考慮し、時折追加機能 (キャッシングなど) を考慮しますか?

または、非推奨の VM 機能を使用せずに Redis でスケーリングに成功した人はいますか? もしそうなら、どのように?

PS明らかに解決策になるRedis Clusterについて読んだことがありますが、プライムタイムの準備が整っていないようです...

4

1 に答える 1

3

redis クラスターの準備が整うまで、最善の策は事前シャーディングです。多数のインスタンスを作成し、一貫したハッシュを使用してそれらの間でキーを分割します。次に、データセットが大きくなった場合 (またはパフォーマンスを向上させる必要がある場合)、インスタンスの半分を別の物理マシンに移動します。

しかし、すべてのシナリオに適しているわけではありません。それは確かです。大量のデータがある場合は、別のデータベースを使用してください。

また、データのサブセット (タイム クリティカルな部分) に redis を使用し、残りの部分に別のデータベースを使用することもできます。

于 2013-03-05T09:11:40.187 に答える