Redisは、迅速なデータ処理が必要なさまざまな環境で使用されるメモリベースのキー-バリュー型データストレージです。主にキャッシュ、作業キュー、セッション管理などで活用されており、データ保持機能を追加することで永続的なデータストレージとしても使用できる。この記事では、Redisの基本概念と主要設定ファイルであるredis.conf
について学びます。
1. Redisの基本概念と特長
Redisは、メモリ(RAM)にデータを保存し、高速な処理を誇るNoSQLデータベースです。この特長のおかげで、次のような目的で広く使用されています。
- キャッシュ(Cache): ウェブアプリケーションのデータ応答速度を向上させるために、頻繁に呼び出されるデータをRedisに保存し、迅速に取得します。
- セッションストレージ(Session Storage): ユーザーセッション情報を保存し、迅速にアクセスすることができ、セッションデータを管理できます。
- 作業キュー(Queue): 非同期作業キューで、Celeryなどのライブラリと共に作業をスケジュールし、迅速に処理します。

Redisの主な利点
- 速度: メモリにデータを保存し、高速に読み書きができるため、応答遅延を最小限に抑えることができます。
- さまざまなデータ構造のサポート: 単純なキー-バリュー型ストレージだけでなく、リスト、セット、ハッシュマップなどさまざまな構造をサポートします。
- スケーラビリティ: クラスタ構成を通じてデータストレージ容量と処理性能を拡張できる。
Redisの揮発性とデータ保持オプション
基本的にRedisは揮発性データを扱う設計となっているため、サーバー再起動時にメモリに保存されたデータは消える可能性があります。これを解決するために、Redisは2つのデータ保持オプションを提供しています。
- RDB (Redis Database) スナップショット: 定期的にメモリのデータをディスクにスナップショットとして保存します。
- AOF (Append-Only File): すべての書き込み作業をディスクに記録し、サーバー再起動時にデータを復元できるようにします。
Redisをキャッシュ目的でのみ使用する場合、データの揮発性についてあまり心配する必要はありませんが、永続的なデータ保持が必要であれば、これらのオプションを活用することができます。
2. Redis設定ファイル (redis.conf
)
Redisの主要な設定ファイルであるredis.conf
は、Redisサーバーの動作方法を詳細に設定できる。一般的に/etc/redis/redis.conf
に位置し、Redisインストール時に自動的に生成されます。
redis.confファイルの主要設定項目

1) ネットワーク設定
- port: Redisサーバーが使用するポートを設定します。デフォルトポートは6379です。
port 6379
- bind: Redisサーバーが受信するIPアドレスを指定します。デフォルト値は
127.0.0.1
で、ローカル接続のみが許可されます。
bind 127.0.0.1
2) セキュリティ設定
- requirepass: Redisサーバーにアクセスするためのパスワードを設定します。省略するとパスワードなしで接続が可能です。
requirepass yourpassword
- protected-mode: Redisを外部からのアクセスから保護するモードで、デフォルト値は
yes
、ローカルのみの接続が許可されます。
3) メモリ管理
- maxmemory: Redisが使用する最大メモリ容量を設定します。制限がない場合はシステムメモリの許可限度まで使用します。
maxmemory 256mb
- maxmemory-policy: メモリがいっぱいになったときに削除するデータのポリシーです。
allkeys-lru
は最も長い間使用されなかったデータを除去します。
maxmemory-policy allkeys-lru
4) データ保存設定
- save: RDBスナップショットを定期的に作成してディスクに保存します。例えば、以下の設定は60秒ごとに1000個以上のキーが変更された場合にスナップショットを生成します。
save 60 1000
- appendonly: AOFモードを有効にしてデータの保持性を高めます。
yes
に設定すると、すべての書き込み作業がAOFファイルに記録されます。
appendonly yes
5) ロギングとデバッグ設定
- loglevel: ログレベルを設定します。
notice
は一般的なメッセージのみを記録し、debug
はすべてのデバッグ情報を記録します。
loglevel notice
- logfile: ログファイルのパスを指定します。デフォルト値は
stdout
で、別のファイルに記録されません。
logfile /var/log/redis/redis.log
3. Redis設定変更後の適用方法
設定ファイルで希望するオプションを修正した後、Redisサーバーを再起動して設定を適用できます。
sudo systemctl restart redis-server
設定変更後、Redisが正常に動作しているか確認するには、以下のコマンドを使用できます。
redis-cli ping
PONG
が返されれば、Redisサーバーが正常に動作していることを意味します。
おわりに
Redisの基本概念と設定ファイルの主要項目について学びました。Redisは設定を通じて性能と保持性を詳細に調整できるため、使用目的に応じて設定を最適化することが重要です。次回はRedisのデータ保持オプションであるRDBとAOFについて詳しく見ていきます。
Add a New Comment