Redis
ナビゲーションに移動
検索に移動
Wikipedia:Redis より:
- Redis はデータ構造サーバーを実装するソフトウェアプロジェクトです。オープンソースでありネットワーク上にデプロイされ、オンメモリで動作し、冗長性を持ってキーを保存します。
目次
インストール
その後 redis.service
を起動・有効化してください。
設定
Redis の設定ファイルは /etc/redis.conf
です。豊富なコメントが付いています。
- デフォルトでは、"bind" 設定ディレクティブが指定されていないため、Redis は全てのネットワークインターフェイスからの接続を許可します。以下のように設定することで特定のホストからの接続だけを許可できます:
bind 127.0.0.1
- デフォルトでは特定のポート (
6379
) からの接続だけを許可していますが、port 0
を指定することで TCP の listen を無効にできます:
port 6379
ソケットを使う
Redis で Unix ソケットを使うようにすることで TCP/IP を使う場合と比べて高い性能を発揮させることができます [1]。
Unix ソケットを有効にするには /etc/redis.conf
に以下の変更を加えてください:
- Redis ソケットパスを有効化・更新:
unixsocket /run/redis/redis.sock
- ソケットのパーミッションを全て redis グループのメンバーに設定:
unixsocketperm 770
- ソケットを保存するためのディレクトリを作成:
# mkdir /run/redis # chown redis:redis /run/redis # chmod 755 /run/redis
- ソケットを保存するためのディレクトリを設定する一時ファイルを作成:
/etc/tmpfiles.d/redis.conf
d /run/redis 0755 redis redis -
- ソケットにアクセス・使用できるようにユーザー (例: git, http) を redis グループに追加。
最後に redis.service
を再起動してください。
トラブルシューティング
Transparent Huge Pages (THP) の警告
you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis.
という警告メッセージが表示される場合、機能を無効化することで、警告を消すことができます:
/etc/tmpfiles.d/redis.conf
w /sys/kernel/mm/transparent_hugepage/enabled - - - - never w /sys/kernel/mm/transparent_hugepage/defrag - - - - never
TCP バックログの警告
The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
という警告メッセージを解決するには、値を増やしてください:
/etc/sysctl.d/99-sysctl.conf
net.core.somaxconn=512
overcommit_memory が 0 に設定されているという警告
overcommit_memory is set to 0! Background save may fail under low memory condition
という警告メッセージを解決するには:
/etc/sysctl.d/99-sysctl.conf
vm.overcommit_memory=1