Redisなどのキー/バリューストアの優れた点を読みましたが、アプリケーションで使用するタイミングがわかりません。
私がWebベースのアプリケーションを設計しているとしましょう。フロントエンド、バックエンド、データベースなどに使用するスタックを知っています。「ああ、X、Y、またはZのRedisも必要になる」というシナリオはありますか。
node.jsの例と非node.jsの例をいただければ幸いです。
Redisなどのキー/バリューストアの優れた点を読みましたが、アプリケーションで使用するタイミングがわかりません。
私がWebベースのアプリケーションを設計しているとしましょう。フロントエンド、バックエンド、データベースなどに使用するスタックを知っています。「ああ、X、Y、またはZのRedisも必要になる」というシナリオはありますか。
node.jsの例と非node.jsの例をいただければ幸いです。
回答:
アプリケーションでいつ使用するべきかわからないようです。
ユースケースも含まれているこのチュートリアルを読むことをお勧めします。redisはむしろメモリ指向であるため、セッションストア、状態データベース、統計、キャッシングなどの頻繁に更新されるリアルタイムデータに最適であり、その高度なデータ構造は他の多くのシナリオに汎用性を提供します。
ただし、Redisは、データを遅くする可能性のあるデータのクエリなど、RDBMSの世界の多くの標準機能をサポートしていないため、従来のリレーショナルデータベースのNoSQLの代替品ではありません。置き換えは、MongoDBやCouchDBのようなドキュメントデータベースであり、redisは、速度と高度なデータ構造のサポートが役立つ特定の機能を補完するのに優れています。
この記事ほど、Redisのユースケースを説明するものはないと思います:http : //antirez.com/post/take-advantage-of-redis-adding-it-to-your-stack.html
きっとあなたはアハがあるでしょう!瞬間。;)
以前の読者からの引用:
私は以前にRedisについて読んで、企業がそれをどのように使用しているかを聞いたことがありますが、その目的を完全には理解していません。これを読んだ後、実際にRedisを理解し、それがどのように役立つかを実際に理解できます。それについて多くを聞いた後、それがとったすべてが比較的単純な記事であったことは驚くべきことです。
記事からの引用:
Redisは他のデータベースソリューションとは多くの点で異なります。主記憶装置のサポートとしてメモリを使用し、永続化のためにのみディスクを使用します。データモデルはかなりユニークで、シングルスレッドなどです。もう1つの大きな違いは、本番環境でRedisを利用するためにRedisに切り替える必要がないことだと思います。以前は不可能だった新しいことをしたり、古い問題を修正したりするために使用できます。
記事が触れているユースケース:
リアルタイムプロジェクトでredisを使用したいです。私は最近、以前にデータベースとしてmysqlに構築されていた1つのgps追跡システムを実行しました。
利点
手元にないのは、Redisはリレーショナルデータベースではないということです。SQL "JOIN"が必要になる場合は、Redisや他の非リレーショナルデータベースを使用する必要はありません。Redisはほとんどのリレーショナルデータベースよりも高速です。キーと値のペアのクエリのみを実行する場合は、Redisを使用する必要があります。