NODEJSでREDISから始める


もともとここに投稿されました.https://koalatea.io/node-js-redis-getting-started/

イントロ


大規模なアプリケーションを構築するとき、スケーリングの必要性があります.スケーリングで始まる多くの場所があります、しかし、1つの場所は、あなたの読書をスケーリングしています.あなたは、eコマースストアやコメントシステムのような重いアプリケーションを読んでいるとしましょう.
この問題に対処するためにキャッシュを考慮する必要があります.Redisは、この問題を解決するときに開始する良い場所です.
この記事では、reddeisをnodejsから始めましょう.

Redisとキャッシュについて


キャッシュはここで概説されている大きなトピックです.https://github.com/donnemartin/system-design-primer#cache . ここでRedisを導入し、後の記事では大規模な機能を実装することを学びます.
Redisはキャッシュよりたくさんの使用です.たとえば、キューはBullQueueを使用してREDISで実装されます.https://optimalbits.github.io/bull/ . 私は非常にこのパッケージをチェックアウトすることをお勧めします.これは、サービスだけでなく、マイクロサービスのスケーリングに大きなスタートです.あなたは
ここでREDIS用のユースケースをお読みください.https://redis.com/blog/5-industry-use-cases-for-redis-developers/ , そして、後でこの機能を実装することについて、将来記事を書きます.

プロジェクトの作成


プロジェクトを次のように作成しましょう.
mkdir redis-example
cd redis-example
npm init -y
touch index.js
touch docker-compose.yml

REDISの設定


Redisをセットアップするために、私はprod . Azureのためにあなたのためにサービスを使用することをお勧めします.しかし、あなたはredisと最終的に自分でそれをスケールする方法を学びたいと思います.これは、クラウドサービスのデバッグや最終的にお金を節約し、それらを使用しないことに役立ちます.
私たちはDockerを使用してRedisに私たちのイントロを開始します.クリエイトアdocker-compose.yml ファイルを追加し、次を追加します.
version: "3.2"
services:
  redis:
    image: "redis:alpine"
    command: redis-server
    ports:
      - "6379:6379"
    volumes:
      - $PWD/redis-data:/var/lib/redis
      - $PWD/redis.conf:/usr/local/etc/redis/redis.conf
    environment:
      - REDIS_REPLICATION_MODE=master
あなたがDockerをインストールして、走らせるのを確実にしてください
docker-compose up

Redisモジュールのインストール


nodejsでよく使われる2つのモジュールがあります.私は傾向があるioredis それは約束のサポートとRedisで他の多くの機能を内蔵している.
npm install ioredis

コードを書く


インデックスを開くことから始めましょう.JSファイルと私たちのモジュールをインポートします.また、REDISサーバに接続します.デフォルトでは、モジュールはポート6379でlocalhostを使用していると仮定します.
const Redis = require("ioredis")

const redis = new Redis()
次に、いくつかのREDISコマンドを実行しましょう.我々は非常に基本的なスタートset and get コマンド.名前で暗黙のうちに、setコマンドはキーを設定し、getはキーを取得します.
async function main() {
    const setResult = await redis.set("foo", "bar")
    console.log(setResult)

    const getResult = await redis.get("foo")
    console.log(getResult)
}
通常、私は通常、エントリとなるノードファイルを起動する主な機能を作成します.我々は、自己起動機能を使用して上記を呼び出すことができます.結局ノードの後のバージョンで、我々は我々が呼び出しできるように、我々がこれを必要としませんawait ルートレベルで.
(async () => {
    await main()
})()
文脈のための完全なファイルは、ここにあります.
const Redis = require("ioredis")

const redis = new Redis()

async function main() {
    const setResult = await redis.set("foo", "bar")
    console.log(setResult)

    const getResult = await redis.get("foo")
    console.log(getResult)
}

(async () => {
    await main()
})()

レッシスGUI


多くの場合、コミュニティを見て以上のUIの使用です.多くは時代遅れであるか、走るのが難しいです.私がよく使うものはpatrikx3/redis-ui . 少しでも
不気味な、それは通常私が必要なものです.また、Guisがそうすることができない場所を助けるためにRedis CLIに慣れることを提案します.
ここでGUIをダウンロードできます.https://github.com/patrikx3/redis-ui .
したら、アプリを開いてダウンロードしている.その後、[設定]を新しい接続に移動します.

次の入力をローカルに接続し、下部にある“追加”ボタンを押してください.

最後に、右下をクリックし、接続するlocalhostを選択します.

をクリックしてホーム画面を表示する必要があります以下のように画面が、左側にキーがない.