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