UbuntuにRedisをインストールする方法


Redisは、ネットワークインターフェイスと、組み込みのレプリケーション、トランザクション、Redisクラスターを使用した自動パーティション分割、さまざまなレベルのオンディスク永続性などの主要機能を備えた高度な永続キーバリューデータベースです。さらに、RedisSentinelを介して高可用性を提供します。文字列、ハッシュ、リスト、セットなど、範囲クエリを使用してソートされたセットを含むさまざまなデータ構造をサポートします。

このガイドでは、Ubuntuで基本的なオプションを使用してRedisをインストールおよび構成する方法を示します。

Redisと連携するようにUbuntuシステムを構成する

UbuntuサーバーにRedisをインストール、構成、使用する前に、Redisが効率的に機能するようにサーバーを設定できます。

以下に説明するように、共有するいくつかのヒントがあります。

  1. The first tip is to ensure that you have created swap space in the server; we recommend creating as much as swap as memory (RAM). This prevents Redis from crashing when there is no enough RAM.
  2. You should make sure that you set the Linux kernel overcommit memory setting to 1 by adding vm.overcommit_memory = 1 to /etc/sysctl.conf configuration file.

変更を適用するには、サーバーを再起動します。または、次のコマンドを実行して、すぐにこれを実行します。

$ sudo sysctl vm.overcommit_memory=1

次に、透過的な巨大ページカーネル機能が無効になっていることも確認します。この機能はサーバーのメモリ使用量と遅延の両方に悪影響を及ぼします。

$ echo never > sudo tee -a /sys/kernel/mm/transparent_hugepage/enabled

UbuntuへのRedisのインストール

デフォルトのリポジトリからRedisパッケージをインストールするには、次のようにRedisパッケージをインストールする前に、APTパッケージマネージャーを使用して、パッケージソースキャッシュが最新であることを確認します。

$ sudo apt update 

次に、Redis-serverパッケージをインストールします。これにより、依存関係としてredis-toolsもインストールされます。

$ sudo apt install redis-server

次のように、redis-sentinel監視ツールやredis-redisearchフルテキストおよびセカンダリ検索インデックスエンジンモジュールなどの追加のRedisパッケージをインストールできます。

$ sudo apt install redis-sentinel redis-redisearch

インストールが完了すると、systemdが自動的に起動し、システムの起動時にRedisサービスを有効にします。次のsystemctlコマンドを実行すると、ステータスを確認できます。

$ sudo systemctl status redis 

UbuntuでのRedisサーバーの構成

Redisサーバーは/etc/redis/redis.confファイルから構成ディレクティブを読み取り、必要に応じて構成できます。

このファイルを編集用に開くには、次のようにお気に入りのテキストベースのエディターを使用します。

$ sudo vim /etc/redis/redis.conf

デフォルトでは、Redisサーバーはループバックインターフェイス(127.0.0.1)でリッスンし、ポート6379で接続をリッスンします。 bind 構成ディレクティブと、それに続く1つ以上のIPアドレスを使用して、複数のインターフェースでの接続を許可できます(図を参照)。

bind 192.168.1.100 10.0.0.1 
bind 127.0.0.1 ::1

portディレクティブを使用して、Redisがリッスンするポートを変更できます。

port 3000

Redisをキャッシュとして構成する

Redisをキャッシュとして使用して、キーごとに異なる存続時間を設定できます。これは、有効期限が切れると、各キーがサーバーから自動的に削除されることを意味します。この構成では、最大メモリ制限が4メガバイトであることを前提としています。

maxmemory 4mb
maxmemory-policy allkeys-lru

構成ファイルでさらに多くのディレクティブを見つけて、Redisを希望どおりに構成できます。必要な変更をすべて行った後、ファイルを保存し、次のようにRedisサービスを再起動します。

$ sudo systemctl restart redis 

UFWファイアウォールサービスを実行している場合は、Redisがリッスンしているポートをファイアウォールで開く必要があります。これにより、外部リクエストがファイアウォールを通過してRedisサーバーに到達できるようになります。

$ sudo ufw allow 6379/tcp
$ sudo ufw reload

Redisサーバーへの接続のテスト

redis-cliユーティリティを使用してRedisサーバーへの接続をテストできます。

$ redis-cli
> client list    #command to list connected clients

詳細と構成例については、Redisのドキュメントを参照してください。

このガイドでは、UbuntuサーバーにRedisをインストールして構成する方法を示しました。ご質問やご意見がございましたら、以下のフィードバックセクションをご利用ください。