Redis は、効率的なメモリベースのキャッシュおよびデータベースです。高速で信頼性が高く、使いやすいため、Web アプリケーションで広く使用されており、文字列、ハッシュ テーブル、リスト、セット、順序付きセットなどのさまざまなデータ型をサポートしています。 Node.js は、イベント駆動型の非同期 JavaScript ランタイム環境として、Web 開発において徐々に人気が高まっています。 Redis は Node.js API ドライバーといくつかの便利な Node.js ライブラリを提供するため、Redis は Node.js 開発で非常に広く使用されます。
なぜ Redis を選ぶのですか?
Node.js での Redis のアプリケーションを紹介する前に、まず Redis を選んだ理由を見てみましょう。 Redis の登場は、リレーショナル データベースへのアクセスが徐々に増加することによって引き起こされるパフォーマンスのボトルネックの問題を解決することを目的としています。 Redis の特徴は、メインスレッドを使用して読み取りおよび書き込み操作を完了し、効率的な操作を保証することです。 Redis はデータをメモリに保存するため、読み取りおよび書き込み速度が非常に速くなり、I/O 操作とディスク アクセスの時間が短縮されます。同時実行性が高い状況では、Redis はリクエストをより適切に処理し、システムの安定性と応答速度を向上させることができます。
Node.js と Redis を使用すると、複雑なデータベースに接続せずに、Node.js でキャッシュとデータ ストレージの操作を簡単に実行できます。さらに、Redis を使用するとパフォーマンスとスケーラビリティも向上し、導入と運用が簡単になります。
Redis ドライバー
Redis は、Node.js API で使用する複数の Redis ドライバーを提供します。最も一般的に使用されるのは、node-redis と ioredis です。現在、node-redis が最も人気があり安定したドライバーですが、ioredis はセンチネルやクラスター管理などのより高度な機能を提供し、より多くの Redis コマンドもサポートしています。どの Redis ドライバーを使用しても、それらはすべて Node.js と Redis 間の接続を提供し、データの読み取りおよび書き込み操作を簡単に実現できます。
Redis のインストールと構成
Redis と Node.js を使用するには、まず Redis をインストールし、次に Node.js で Redis ドライバーを構成する必要があります。 Windows システムでは、http://redis.io/download にアクセスしてインストール パッケージをダウンロードできます。Unix システムでは、次のコマンドを使用してインストールできます:
$ wget http://redis.googlecode.com/files/redis-2.4.16.tar.gz $ tar xvzf redis-2.4.16.tar.gz $ cd redis-2.4.16 $ make
Redis が正常にインストールされたら、 Node.js Redis 駆動でインストールできます。 Node.js に Redis ドライバーをインストールするのは簡単です。コマンド ラインで npm install コマンドを使用するだけです。たとえば、node-redis をインストールするには、次のコマンドを使用できます。
$ npm install redis
Redis の基本操作
最初のステップは、Redis サーバーとの接続を確立することです。 Node.js の node-redis モジュールは、次のコードを使用して接続を確立できます:
var redis = require('redis'); var client = redis.createClient();
これにより、Node.js の JavaScript 言語で記述された Redis サーバー上で基本的な操作を実行できるようになります。 Node.js と Redis の基本的な操作方法を見てみましょう。
値の設定
以下では、Redis にキーと値のペアを設定して、Node.js と Redis を使用して基本的な操作を実行する方法を示します。
client.set('key', 'value', function(err, response) { console.log(response); });
ここでの set 操作では、最初のパラメーターのキーは設定する必要があるキー名で、2 番目のパラメーターの値は設定する必要がある値です。次に、コールバック関数を使用して Redis サーバーから戻り値を受け取りますが、単純な操作の場合、戻り値は通常 OK です。
値の取得
Redis でキーと値のペアを取得するのは非常に簡単です。次のコードは、前の手順で設定されたキーと値のペアを取得し、結果をコンソールに出力します。
client.get('key', function(err, response) { console.log(response); });
ここでの get オペレーションの最初のパラメーターのキーは取得するキー名で、2 番目のパラメーターは Redis サーバーから返された値を受け取るために使用されるコールバック関数です。
有効期限の設定
Redis のキーと値のペアは有効期限を設定できます。これは、特定のキーと値のペアが指定された時間内に期限切れになることを意味します。以下のコードは、キーと値のペアを設定し、有効期限を 5 分に設定します。
client.set('key', 'value', 'EX', 300, function(err, response) { console.log(response); });
ここでの「EX」は Redis の組み込みコマンドで、.
の後の数字は設定する有効期限を秒単位で表します。上記の操作を実行すると、このキーと値のペアは 5 分後に自動的に期限切れになります。
キーと値のペアを削除する
Redis には有効期限を設定する方法が用意されていますが、場合によっては、キーと値のペアを手動で削除する必要がある場合があります。以下のコードは、Node.js と Redis を使用してキーと値のペアを削除する方法を示しています。
client.del('key', function(err, response) { console.log(response); });
ここでの del 操作の最初のパラメータ キーは削除する必要があるキー名で、2 番目のパラメータは Redis サーバーから返された値を受け取るために使用されるコールバック関数です。
以上がRedisの最も基本的な設定、取得、削除の操作です。 Node.js と Redis を組み合わせることで、これらの操作が非常に簡単になります。さらに、Redis は、リスト、ハッシュ テーブル、セットなど、より多くの操作タイプもサポートしています。これらの操作は、Redis ドライバーを介して Node.js で実行できます。
ノード Redis クラスター
Redis の可用性を向上させるために、シャーディングとレプリケーションの観点からクラスター モードが採用されており、複数の Redis ノードを統合して Redis クラスターを形成できます。 . . Node.js での Redis クラスターの使用法は、単一の Redis ノードとほぼ同じです。 Node-redis が提供する API を使用して Redis クラスターを操作できます。
Node.js で Redis クラスターを使用するには、ioredis ドライバーを使用する必要があります。サンプルコードは次のとおりです。
const Redis = require('ioredis'); const nodes = [ { port: 6379, host: '172.16.0.1' }, { port: 6379, host: '172.16.0.2' }, { port: 6379, host: '172.16.0.3' }, { port: 6379, host: '172.16.0.4' }, { port: 6379, host: '172.16.0.5' }, { port: 6379, host: '172.16.0.6' }, ]; const redis = new Redis.Cluster(nodes);
上記は、Node.js で Redis クラスターを使用する場合のコード例です。 Redis クラスターを使用するには、複数の Redis マネージド インスタンスを指定するだけです。 ######まとめ###
この記事の紹介を通じて、Node.js で Redis を使用するのは非常に便利で便利であることがわかります。 Node.js は、Redis とのやり取りを簡素化するための優れた Redis ドライバーを多数提供します。 Redis の効率性とスケーラビリティにより、Node.js のキャッシュおよびデータベース ソリューションとして広く使用されています。この記事で紹介されている手順に従うだけで、Redis を Node.js アプリケーションに簡単に統合し、Web アプリケーションのパフォーマンスと応答速度を向上させることができます。
以上がNode.jsでのRedisの応用について詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。