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

レール/ルビーでredisを使用する場合のNestとredis-namespacegemsの平均の違いは何ですか

    免責事項:私はNestの作者です。

    両方のライブラリで同じことを達成できます。これらのツールの主な違いは、内部の複雑さだと思います。 Nestはフラットキーで構造を表現するのに役立つだけですが、Redis ::Namespaceにはすべてのコマンドの変換テーブルがあるため、より壊れやすく、CPUに負荷がかかります。

    両方のツールのソースコードを見て、私が何を意味するかを確認してください。

    https://github.com/soveran/nest/blob/master/lib/nest.rb

    https://github.com/resque/redis-namespace/blob/master/lib/redis/namespace.rb

    そうは言っても、あなたが説明した問題の正しい解決策は、プロジェクトごとに別々のRedisインスタンスを用意することです。キースペースは考慮すべき1つの側面にすぎないと考えてください(これは、Redisが提供するさまざまなDBでも簡単に解決できます)。その他の側面(永続化戦略、接続とメモリの制限、主要な排除など)は、通常、プロジェクトの性質に応じて微調整されます。

    もう1つの重要な事実は、Redisはシングルスレッドであり、多くのアプリケーションがRedisを使用しているため、すべてのリクエストで同じコアを共有する必要があるということです。そのことを念頭に置いて、異なるRedisインスタンスを使用すると、作業を並列化するのに役立ちます。



    1. MongoDB $ round

    2. 配列内のObjectIdの$lookup

    3. futures.rsとRedisPubSubを使用して、ブロッキング呼び出しのfuturesストリームを実装するにはどうすればよいですか?

    4. MongoDB埋め込みオブジェクトにはIDがありません(null値)