アリクラウドの配置3.redis


redis
ダウンロードとコンパイル
wget http://download.redis.io/releases/redis-4.0.2.tar.gz
tar xzf redis-4.0.2.tar.gz
cd redis-4.0.2
make

サービスの開始
バックグラウンド起動redis
cd redis-4.0.2/
src/redis-server &

クエリーredisプロセス
ps -ef | grep redis

redisが起動していることがわかります
root     19141 19065  0 12:50 pts/1    00:00:03 ./src/redis-server 0.0.0.0:6379
root     19238 19196  0 14:00 pts/0    00:00:00 grep --color=auto redis

プロセスの終了
kill -9 pid

初歩的なテスト
redisクライアントの起動
cd redis-4.0.2/
src/redis-cli
127.0.0.1:6379> set test 1
OK
127.0.0.1:6379> get test
"1"

redisのインストールに成功しました.
サーバのリモート接続の設定
デフォルトの構成はローカルアクセスのみで、redis-4.0.2/redisを変更します.confプロファイル
bind 127.0.0.1

次のように変更
bind 0.0.0.0 

ファイアウォール
セキュリティ・グループ・ルールを追加し、サーバのファイアウォールの6379ポートを開く必要があります.
リモート接続パスワードの設定
デフォルトの構成で保護モードがオンになっています
protected-mode yes

この場合、redisにリモート接続するにはパスワードを設定する必要があります.パスワードの設定は非常に簡単です.requirepassフィールドにパスワードを記入するだけでいいです.
requirepass     

構成が終わったら、バックグラウンドでredisを起動してもいいです.
./redis-server /etc/redis/redis.conf

Nodeクライアント接続
私はnpmのredisパッケージを使っています.このとき、前の構成によってサーバのredisにリモート接続できます.開発文書と結びつけて、実際に開発することができます.
const redis = require('redis');
const config = require('../config');

const logger = require('log4js').getLogger('app');

class RedisClient {
  constructor() {
    if (!RedisClient.instance) {
      this.client = redis.createClient({
        host: config.redis.host,
        port: config.redis.port,
        password: config.redis.password,
      });

      const client = this.client;
      RedisClient.instance = client;
  
      client.on("error", (err) => {
        logger.error('redis connect err: %s', err.toString());
      });
      
      client.on("connect", () => {
        logger.info('redis connect success');
      });
    }
  }
}

module.exports = new RedisClient().client;