Redis官方文檔翻譯——redis.conf之包含、模塊、模塊、網絡


Redis官方文檔翻譯——redis.conf之包含、模塊、模塊、網絡


Redis版本

redis-5.0.4 3

注意

請注意,為了讀取配置文件,Redis必須以文件路徑作為第一個參數來啟動:

<code>./redis-server /path/to/redis.conf/<code>

關於單位的注意事項:當需要內存大小時,可以以通常的形式1k 5GB 4M來指定它,依此類推:

<code>1k => 1000 bytes

1kb => 1024 bytes

1m => 1000000 bytes

1mb => 1024*1024 bytes

1g => 1000000000 bytes

1gb => 1024*1024*1024 bytes/<code>

單位不區分大小寫,因此1GB 1Gb 1gB都相同。


包含

在此處包括一個或多個其他配置文件。 如果您具有可用於所有Redis服務器的標準模板,但還需要自定義一些每服務器設置,則此功能很有用。 包含文件可以包含其他文件,因此請明智地使用它。

注意,選項“ include”將不會被admin或Redis Sentinel中的命令“ CONFIG REWRITE”重寫。 由於Redis始終使用最後處理的行作為配置指令的值,因此最好在此文件的開頭放置include,以避免在運行時覆蓋配置更改。

相反,如果您有興趣使用include覆蓋配置選項,則最好使用include作為最後一行。

<code># include /path/to/local.conf

# include /path/to/other.conf/<code>

模塊

在啟動時加載模塊。 如果服務器無法加載模塊,它將中止。 可以使用多個loadmodule指令。

<code># loadmodule /path/to/my_module.so

# loadmodule /path/to/other_module.so/<code>

網絡

默認情況下,如果未指定“ bind”配置指令,則Redis偵聽服務器上所有可用網絡接口的連接。可以使用“ bind”配置指令偵聽一個或多個選定接口,然後偵聽一個 或更多IP地址。

例子:

<code>bind 192.168.1.100 10.0.0.1

bind 127.0.0.1 ::1/<code>

~~~警告~~~

如果運行Redis的計算機直接暴露於Internet,則綁定到所有接口都是危險的,並且會將實例暴露給Internet上的所有人。 因此,默認情況下,我們取消註釋以下bind指令,它將強制Redis僅偵聽IPv4環回接口地址(這意味著Redis將只能接受來自正在運行同一臺計算機的客戶端的連接)。 如果您確定要立即偵聽所有接口,請僅注意以下幾行。

~~~~~~

<code>bind 127.0.0.1/<code>

保護模式是安全保護的一層,以避免訪問和利用Internet上打開的Redis實例。

當保護模式開啟時,如果:

1)服務器未使用“ bind”指令顯式綁定到一組地址。

2)沒有配置密碼。

服務器僅接受來自客戶端的連接,這些客戶端從IPv4和IPv6回送地址127.0.0.1和::: 1,以及從Unix域套接字連接。

默認情況下啟用保護模式。 僅當您確定您希望其他主機的客戶端連接到Redis時,即使未配置身份驗證,也不會使用“ bind”指令顯示列出一組特定的接口,才應禁用它。

<code>protected-mode yes/<code>

接受指定端口上的連接,默認值為6379(IANA#815344)。 如果指定了端口0,則Redis將不會在TCP套接字上偵聽。

<code>port 6379/<code>

TCP listen() backlog.

在每秒請求數很高的環境中,您需要大量積壓,以避免客戶端連接速度慢的問題。 請注意,Linux內核將以無提示的方式將其截斷為/proc/sys/net/core/somaxconn的值,因此請確保同時提somaxconn和tcp_max_syn_backlog的值,以獲得所需的效果。

<code>tcp-backlog 511/<code>

Unix套接字。

指定用於偵聽傳入連接的Unix套接字的路徑。 沒有默認值,因此在未指定Redis時,Redis不會在unix套接字上偵聽。

<code># unixsocket /tmp/redis.sock

# unixsocketperm 700/<code>

客戶端閒置N秒後關閉連接(0禁用)

<code>timeout 0/<code>

TCP 保活(keepalive)

如果不為零,請在沒有通信的情況下使用SO_KEEPALIVE向客戶端發送TCP ACK。 這很有用,原因有兩個:

1)檢測死亡的同伴。

2)從中間的網絡設備的角度來看,保持連接活躍。

在Linux上,指定的值(以秒為單位)是用於發送ACK的時間段。 注意,關閉連接需要兩倍的時間。 在其他內核上,期限取決於內核配置。

此選項的合理值是300秒,這是從Redis 3.2.1開始的新Redis默認值。

<code>tcp-keepalive 300/<code>


分享到:


相關文章: