Redis はオープンソース(BSDライセンス)のインメモリデータ構造ストアです。 データベースとして使用できます 、キャッシュおよびメッセージブローカー。文字列、ハッシュ、リスト、セット、ソートされたセット、ハイパーログ、ビットマップ、ストリーム、空間インデックスなど、さまざまな種類の抽象データ構造をサポートします。
この投稿では、 Redisのインストール方法について説明しています。 CentOS 7 / RHEL 7 & Ubuntu 18.04 / Ubuntu 16.04 。また、Redisでマスター/スレーブレプリケーションを設定するのに役立ちます。
CentOS 7 /RHEL7およびUbuntu18.04/Ubuntu16.04にRedisをインストールします
EPELリポジトリで利用可能なRedisパッケージ CentOS/RHELおよびUbuntuのOSリポジトリはかなり古いものです。そのため、Remiリポジトリから最新バージョンのRedis(v5.0.2)をインストールします。 およびchrislea PPA CentOS/RHELとUbuntuでそれぞれ。
リポジトリの設定
使用しているオペレーティングシステムに基づいてリポジトリの追加を開始します。
### CentOS 7 / RHEL 7 ### rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm rpm -ivh https://rpms.remirepo.net/enterprise/remi-release-7.rpm # for RHEL only subscription-manager repos --enable=rhel-7-server-optional-rpms ### Ubuntu 18.04 / Ubuntu 16.04 ### sudo add-apt-repository ppa:chris-lea/redis-server sudo apt update>
Redisのインストール
ターミナルで次のコマンドを入力して、Redisパッケージをインストールします。
### CentOS 7 / RHEL 7 ### yum install -y redis --enablerepo=remi ### Ubuntu 18.04 / Ubuntu 16.04 ### sudo apt install -y redis-server
次に、Redisサーバーを起動し、システムの起動時に自動的に起動できるようにします。
### CentOS 7 / RHEL 7 ### systemctl start redis systemctl enable redis ### Ubuntu 18.04 / Ubuntu 16.04 ### sudo systemctl start redis-server sudo systemctl enable redis-server
以下のコマンドを入力して、Redisサービスのステータスを確認してください。
### CentOS 7 / RHEL 7 ### systemctl status redis ### Ubuntu 18.04 / Ubuntu 16.04 ### sudo systemctl status redis-server
以下のようなものが表示されます。
● redis.service - Redis persistent key-value database Loaded: loaded (/usr/lib/systemd/system/redis.service; enabled; vendor preset: disabled) Drop-In: /etc/systemd/system/redis.service.d └─limit.conf Active: active (running) since Wed 2018-11-28 06:57:30 UTC; 14s ago Main PID: 1898 (redis-server) CGroup: /system.slice/redis.service └─1898 /usr/bin/redis-server 127.0.0.1:6379 Nov 28 06:57:30 redisc7 systemd[1]: Starting Redis persistent key-value database... Nov 28 06:57:30 redisc7 systemd[1]: Started Redis persistent key-value database.
Redisのインストールを確認する
Redisがredis-cli
で実行されていることを確認します (Redisのコマンドラインインターフェイス)。
redis-cli ping
Redisが実行されている場合は、PONGが返されます。
PONG
これで、サーバーでRedisが実行されました。
デフォルトでは、Redisはリモート接続を許可していません。 Redisに接続できるのは、Redisが実行されているマシンである127.0.0.1(localhost)からのみです。
リモートホストからRedisサーバーに接続する場合にのみ、以下の手順を実行してください。
Redis構成ファイルを編集します。
### CentOS 7 / RHEL 7 ### vi /etc/redis.conf ### Ubuntu 18.04 / Ubuntu 16.04 ### sudo nano /etc/redis/redis.conf
bind 127.0.0.1
で始まる行を見つけます 127.0.0.1の後にサーバーのIPアドレスを追加します。次に、ファイルを保存して閉じます。
bind 127.0.0.1 192.168.1.10
192.168.1.10を自分のIPアドレスに置き換えてください。
変更を有効にするには、Redisサーバーを再起動します。
### CentOS 7 / RHEL 7 ### systemctl restart redis ### Ubuntu 18.04 / Ubuntu 16.04 ### systemctl restart redis-server
次のnetstat
を使用します コマンドを使用して、Redisサーバーがポート6379のサーバーインターフェイスでリッスンしていることを確認します。
netstat -antup | grep -i 6379
以下のようなものが表示されます。
tcp 0 0 10.142.0.10:6379 0.0.0.0:* LISTEN 2081/redis-server 1
読む :CentOS 7 / RHEL 7でnetstatコマンドが見つかりません–クイックフィックス
読む :netstatコマンドがDebian/ Ubuntu / Linux Mintに見つかりません–クイックフィックス
ファイアウォール(CentOS / RHEL)
リモートアクセスを有効にしている場合は、リモートマシンからTCPポート6379でRedisサーバーへのトラフィックを許可するファイアウォールルールを追加する必要があります。
ターミナルで次のコマンドを実行します
firewall-cmd --permanent --add-port=6379/tcp firewall-cmd --reload
リモートアクセスの確認
リモートアクセスが正しく設定されていることを確認するには、redis-cli
を使用してリモートマシンからRedisサーバーにpingを実行してみてください。 (コマンドラインインターフェイス)。
redis-cli -h <REDIS_IP_ADDRESS> ping
コマンドはPONGを返す必要があります。
PONG
Redisマスター/スレーブレプリケーションのセットアップ
マスターノード上
ステップ1: Redisをインストールする
ステップ2:リモートアクセスを構成する
スレーブノード上
ステップ1: Redisをインストールする
スレーブの構成
replicaof
を追加してスレーブインスタンスを構成します redis.conf
へのディレクティブ レプリケーションを設定します。
### CentOS 7 / RHEL 7 ### vi /etc/redis.conf ### Ubuntu 18.04 / Ubuntu 16.04 ### sudo nano /etc/redis/redis.conf
再度、192.168.1.10をマスターノードのIPアドレスに置き換えます。
replicaof 192.168.1.10 6379
サービスを再開します。
### CentOS 7 / RHEL 7 ### systemctl restart redis ### Ubuntu 18.04 / Ubuntu 16.04 ### systemctl restart redis-server
Redsマスター/スレーブレプリケーションの確認
レプリケーションが機能することをテストします。マスターノードでredis-cliを実行し、コマンドset 'name' Raj
を実行します 。
redis-cli 127.0.0.1:6379> set 'name' Raj
出力:
OK
exitと入力するか、Ctrl-Cを押して、redis-cliプロンプトを終了します。
次に、スレーブノードでredis-cliを実行し、get 'name'
を実行します。 、マスターの値と同じ値を返す必要があります。
redis-cli 127.0.0.1:6379> get 'name'
出力:
"Raj"
この出力は、マスター/スレーブレプリケーションのセットアップが正しく機能していることを確認します。
Redisの使用方法の詳細については、Redisの公式ドキュメントにアクセスしてください。 ページ。
以上です。