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

Redis 6はマルチコアCPUを利用できますか?

    リリースノートに基づいて、そうだと思います。そこからの小さな情報があります:

    高性能に対するRedisの評判は当然ですが、そのシングルスレッドアーキテクチャは、Redisをさらに高速化できるかどうか疑問に思っているエンジニアの間で物議を醸しています。新しい時代のRedis6リング:コアシングルスレッドデータアクセスインターフェイスを保持しながら、I/Oはスレッド化されました。

    I / Oソケットの読み取りと書き込みに費やした時間を他のスレッドに委任することで、Redisプロセスはデータの操作、保存、取得により多くのサイクルを費やすことができ、全体的なパフォーマンスが向上します。この改善により、以前のバージョンのトランザクション特性が保持されるため、パフォーマンスの向上を利用するためにアプリケーションを再考する必要はありません。同様に、RedisのシングルスレッドDELコマンドは、Redisバージョン4以降で使用可能になっているマルチスレッドUNLINKコマンドのように動作するように構成できるようになりました。

    ローカル変数のパフォーマンスは、ほとんどの場合無敵です。最後に、Redisのような高性能のデータベースでさえ、スタックまたはヒープから何かにアクセスするよりもはるかに低速になります。 Redis 6は、洗練されたクライアントライブラリに新しい手法を追加して、クライアント側のキャッシュレイヤーを実装し、独自のプロセスにデータのサブセットを格納します。この実装は、同じデータに対する複数の更新を管理し、データを可能な限り同期させながら、ローカル変数の速度でRedisの利点を維持するのに十分なほどスマートです。

    インスタンス/ワークロードプロファイルのredis-benchmarkまたはmemtierハーネスとチェック/比較することもできます。




    1. phpredisライブラリを使用してElasticacheのRedisクラスターをPHPに接続できません

    2. mongodb集約フレームワークでのcase-statementの実行

    3. mysqlデータベースのキャッシュとしてredisを使用する

    4. 一般的なMongoDBインタビューの質問