ホームページ データベース Redis Node.jsでのRedisの応用について詳しく解説

Node.jsでのRedisの応用について詳しく解説

Jun 20, 2023 am 08:49 AM
nodejs redis 応用

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 システムでは、次のコマンドを使用してインストールできます:

1

2

3

4

$ 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 をインストールするには、次のコマンドを使用できます。

1

$ npm install redis

ログイン後にコピー

Redis の基本操作

最初のステップは、Redis サーバーとの接続を確立することです。 Node.js の node-redis モジュールは、次のコードを使用して接続を確立できます:

1

2

var redis = require('redis');

var client = redis.createClient();

ログイン後にコピー

これにより、Node.js の JavaScript 言語で記述された Redis サーバー上で基本的な操作を実行できるようになります。 Node.js と Redis の基本的な操作方法を見てみましょう。

値の設定

以下では、Redis にキーと値のペアを設定して、Node.js と Redis を使用して基本的な操作を実行する方法を示します。

1

2

3

client.set('key', 'value', function(err, response) {

  console.log(response);

});

ログイン後にコピー

ここでの set 操作では、最初のパラメーターのキーは設定する必要があるキー名で、2 番目のパラメーターの値は設定する必要がある値です。次に、コールバック関数を使用して Redis サーバーから戻り値を受け取りますが、単純な操作の場合、戻り値は通常 OK です。

値の取得

Redis でキーと値のペアを取得するのは非常に簡単です。次のコードは、前の手順で設定されたキーと値のペアを取得し、結果をコンソールに出力します。

1

2

3

client.get('key', function(err, response) {

  console.log(response);

});

ログイン後にコピー

ここでの get オペレーションの最初のパラメーターのキーは取得するキー名で、2 番目のパラメーターは Redis サーバーから返された値を受け取るために使用されるコールバック関数です。

有効期限の設定

Redis のキーと値のペアは有効期限を設定できます。これは、特定のキーと値のペアが指定された時間内に期限切れになることを意味します。以下のコードは、キーと値のペアを設定し、有効期限を 5 分に設定します。

1

2

3

client.set('key', 'value', 'EX', 300, function(err, response) {

  console.log(response);

});

ログイン後にコピー

ここでの「EX」は Redis の組み込みコマンドで、. の後の数字は設定する有効期限を秒単位で表します。上記の操作を実行すると、このキーと値のペアは 5 分後に自動的に期限切れになります。

キーと値のペアを削除する

Redis には有効期限を設定する方法が用意されていますが、場合によっては、キーと値のペアを手動で削除する必要がある場合があります。以下のコードは、Node.js と Redis を使用してキーと値のペアを削除する方法を示しています。

1

2

3

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 ドライバーを使用する必要があります。サンプルコードは次のとおりです。

1

2

3

4

5

6

7

8

9

10

11

12

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 サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Windows 11 10.0.22000.100 のインストール時の 0x80242008 エラーの解決策 Windows 11 10.0.22000.100 のインストール時の 0x80242008 エラーの解決策 May 08, 2024 pm 03:50 PM

Windows 11 10.0.22000.100 のインストール時の 0x80242008 エラーの解決策

PHP機能のボトルネックを分析し、実行効率を向上 PHP機能のボトルネックを分析し、実行効率を向上 Apr 23, 2024 pm 03:42 PM

PHP機能のボトルネックを分析し、実行効率を向上

NodejsとJavaの間に大きな違いはありますか? NodejsとJavaの間に大きな違いはありますか? Apr 21, 2024 am 06:12 AM

NodejsとJavaの間に大きな違いはありますか?

Golang API のキャッシュ戦略と最適化 Golang API のキャッシュ戦略と最適化 May 07, 2024 pm 02:12 PM

Golang API のキャッシュ戦略と最適化

Nodejsをmysqlデータベースに接続する方法 Nodejsをmysqlデータベースに接続する方法 Apr 21, 2024 am 06:13 AM

Nodejsをmysqlデータベースに接続する方法

PHP 開発におけるキャッシュ メカニズムとアプリケーションの実践 PHP 開発におけるキャッシュ メカニズムとアプリケーションの実践 May 09, 2024 pm 01:30 PM

PHP 開発におけるキャッシュ メカニズムとアプリケーションの実践

PHP 配列のページネーションで Redis キャッシュを使用するにはどうすればよいですか? PHP 配列のページネーションで Redis キャッシュを使用するにはどうすればよいですか? May 01, 2024 am 10:48 AM

PHP 配列のページネーションで Redis キャッシュを使用するにはどうすればよいですか?

Nodejsとnpmの関係は何ですか? Nodejsとnpmの関係は何ですか? Apr 21, 2024 am 06:09 AM

Nodejsとnpmの関係は何ですか?

See all articles