推奨 (無料): redis チュートリアル
記事ディレクトリ
次の場合に留意してくださいLinux での開発: ソフトウェアはデフォルトで /opt にインストールされます。工場出荷時の設定で構成ファイルを直接変更しないでください。正しい方法は、
操作する前にコピーをバックアップすることです
。
Redis 構成ファイルは、Redis インストール ディレクトリにあります。ファイル名は reids.conf
です。一般的に使用される 30 個の構成を次に示します。記事には英語の翻訳が付いています。 redis.conf ファイル。
1. よく使用される 30 の構成
最初の 10 の構成
daemonize no
Redis はデフォルトではデーモン プロセスとして実行されません。デーモン プロセスを有効にするには、yes に変更できます。
pidfile /var/run/redis/pid
Redis がデーモンとして実行される場合、Redis はデフォルトで pid を保存します。 /var/run/redis.pid
ファイルを書き込みます。pidfile を通じてパスを指定できます。
port 6379
Redis のリッスン ポートを指定します。
bind 127.0.0.1
Redis によってバインドされるホスト アドレス。
timeout 300
接続を閉じる前にクライアントがアイドル状態になる時間を設定します。0 の場合は、接続を終了することを意味します。この機能をオフにします。
loglevel verbose
ログ レベルを指定します。Redis は、デバッグ、詳細 (デフォルト)、通知、警告の 4 つのレベルをサポートします。
logfile stdout
ロギング モード。Redis がデーモン プロセスとして構成されている場合、デフォルトは標準出力です。ここでモードが標準出力の場合、ログは /dev/null
##databases 16# に送信されます。 ## 設定 データベースの数。デフォルトの数値は 0 です。select
コマンドを使用して、接続上のデータベース ID を指定できます。
一定期間内に更新操作が何回あるかを指定し、その後、データはデータ ファイルに同期され、複数の条件と一致させることができます。 Redis 構成ファイルには 3 つの条件が指定されています:
save 900 1; save 300 10; save 60 10000
データをローカル データベースに保存するときにデータを圧縮するかどうかを指定します。デフォルトは [はい] です。Redis は LZF (圧縮アルゴリズム) 圧縮を使用します。CPU 時間を節約したい場合は、このオプションをオフにすることができますが、データベースファイルが巨大化します。
##dbfilename
dump.rdb ローカル データベース ファイル名を指定します。デフォルト値は dump.rdb
dir
を指定します。ローカル データベース ストレージ ディレクトリ
slaveof
Society このマシンがスラブにサービスを提供する場合、マスター サービス Redis の起動時に、IP アドレスとポートがマスターからのデータを自動的に同期します。 ## マスター サービスがパスワードで保護されている場合、マスターに接続するためのスラブ サービスのパスワード。
requirepass
Redis の接続パスワードを設定します。接続パスワードが設定されている場合、クライアントは次のときにパスする必要がありますAUTHこのコマンドはパスワードを提供しますが、デフォルトでは無効になっています。
同時にクライアント接続の最大数を設定します。デフォルトは無制限です。Redis はクライアントを開くことができますこの数は、Redis プロセスが開くことができるファイル記述子の最大数です。 maxclients が 0 に設定されている場合、制限がないことを意味します。クライアント接続の数が制限に達すると、Redis は新しい接続を閉じ、クライアントの最大数に達したというエラー メッセージをクライアントに返します。
##maxmemory
appendonly
no
appendfilename appendonly.aof
更新ログ ファイル名を指定します。デフォルトは appendonly.aof です。
appendsync everysec
更新ログの条件を指定します。オプションは 3 つあります:
①no: 動作待ちを示します。システムが完了するまでのシステム データ キャッシュはディスクに同期されます (高速)、
②常に: オペレーティング システムの更新のたびに fsync() を手動で呼び出してデータをディスクに書き込むことを意味します (低速、安全)、
③毎秒: 素晴らしい同期を 1 回行うことを意味します (効率の低下)、デフォルト値です)
最後の 10
no
/tmp/redis.swap
0
32
134217728
4
yes
64
/ハッシュ最大ジップマップ値 512
yes
/path/to/local.conf
2. Redis のメモリ削減戦略
優れたキャッシュ ミドルウェアとして、Redis は、クラスター デプロイメントが使用されている場合でも、大量のデータを保存することがよくあります。動的に容量を拡張するときは、システムのパフォーマンスを維持するためにメモリもすぐにクリアする必要があります。
2.1 データのタイムアウトを設定します
キーの有効期限 (秒単位)
これは最も一般的に使用される方法ですsetex(String Key, int minutes, String value)
文字列固有のメソッド有効期限を設定する文字列固有のメソッドに加えて、他のすべてのメソッド時刻を設定するには、expired メソッドに依存する必要があります。
時間が設定されていない場合、キャッシュは期限切れになりません。
有効期限を設定し、後でキャッシュを期限切れにしないようにする場合は、persist key
2.2 LRU アルゴリズムを使用して未使用のデータを動的に削除します
メモリ管理のためのページ置換アルゴリズム。メモリ内にあるが使用されていないデータ ブロック (メモリ ブロック) は LRU と呼ばれます。オペレーティング システムは、これらのデータ ブロックをメモリから削除し、データに基づいてロード用のスペースを確保します。 LRUに属する追加データ。
volatile-lru タイムアウト期間を設定したデータのうち、最も使用頻度の低いデータを削除します
# allkeys-lru すべてのキーの中で最も使用頻度の低いデータをクエリして削除する、これは最も広く使用されている戦略です。
volatile-random タイムアウトが設定されたデータをランダムに削除します
allkeys-random すべてのキーをクエリし、ランダムに削除します。
volatile-ttl 設定されたタイムアウトですべてのデータをクエリし、それらを並べ替えて状態データを収集します。 Delete
noeviction この属性に設定すると、削除操作は実行されず、メモリがオーバーフローした場合はエラーが返されます
volatile-lfu タイムアウトが設定されたすべてのキーから最も使用頻度の低いキーを削除します
allkeys-lfu すべてのキーから最も使用頻度の低いキーを削除します
3. カスタム構成 Redis
対応するインストール ディレクトリ /usr/local/redis
に移動し、redis.conf 構成ファイルを変更します。
初心者として、Redis は通常、次の 3 つの項目を変更する必要があります:
no
を daemonize # に変更します。 ## yes
、つまり、代わりにデーモン プロセスとして開始されます。
をコメント アウトして、ローカル マシン以外のマシンが Redis サービスにアクセスできるようにします。
を使用すると、サービスのセキュリティが確保されます。まれに、パスワードを設定しないとリモート アクセスができなくなります。
その他の関連学習:
以上がRedis 設定ファイル redis.conf の詳細な分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。