免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
【Redis27】Redis進階:配置文件(一)

Redis進階:配置文件(一)

對于配置文件來說,往往是很多大佬們?nèi)胧诌\維優(yōu)化的第一步,因此我們想要真正的進階,就一定要看看配置文件中有哪些可以配置的地方,有哪些可以優(yōu)化的配置點。當(dāng)然,咱也不是特別專業(yè),有很多配置也不知道是啥意思,更不知道應(yīng)該配成什么才是最好的。既然這樣,那就一起來學(xué)學(xué)唄。

整個配置文件有兩篇文章,基于 Redis6.2 版本的原生配置文件。其它沒有在配置文件中出現(xiàn)的配置項可能都并不是非常常用的選項,Redis7 以及更新版本的配置項也并沒有詳細的列出,如果大家有興趣,可以到官方文檔中去查找完整的以及最新的所有配置項信息。

基本配置

打開配置文件,最開始的部分就是告訴我們可以進行一些單位的轉(zhuǎn)換。直接使用 1k 可以表示 1000bytes ,而使用 1kb 則可以表示 1024bytes ,注意這一塊的微小差別哦。

# 1k => 1000 bytes
# 1kb => 1024 bytes
# 1m => 1000000 bytes
# 1mb => 1024*1024 bytes
# 1g => 1000000000 bytes
# 1gb => 1024*1024*1024 bytes

接著,就是教我們可以 INCLUDES 其它配置文件,這個也是很多類似的系統(tǒng)工具都提供的功能,最典型的就是 Nginx 配置 vhost 的時候大家也往往會不同的站點單獨使用一個配置文件。但其實它們最后都是在主配置文件中 INCLUDES 進來的。緊跟著后面是可以使用 loadmodule 加載一些外部模塊和插件,比如官方文檔上就有的布隆過濾器之類的插件。

好了,繼續(xù)向下看,我們將看到 NETWORK 這一個大的配置模塊。

NETWORK配置

bind 127.0.0.1 ::1
protected-mode no
port 6379

這三個應(yīng)該是同學(xué)們接觸到的比較多的配置項,bind 是綁定 IP ,默認就是綁定本地的回環(huán)地址,protected-mode 是保護模式的開關(guān),打開后服務(wù)端將只接收 bind 綁定的客戶端連接,并且需要配置密碼(注意如果是多實例哨兵部署,這個要設(shè)置成no,否則哨兵之間可能無法通信)。最后的 port 就是服務(wù)端啟動時所監(jiān)聽的端口號。

剩下的幾個配置大家看看就好,平常改動這幾個配置的應(yīng)該不多。

# tcp 未連接隊列數(shù)量配置,要注意主進程是否有慢查詢,如果出現(xiàn)慢查詢
# 這里就會積壓,超過這個數(shù)量之后就會產(chǎn)生隊列溢出,拋棄連接
# 不要大于系統(tǒng)的 /proc/sys/net/core/somaxconn 配置,可以設(shè)置成 2048 ,和系統(tǒng)的 somaxconn 一起改
tcp-backlog 511

#
 使用 unix socket 形式連接
# 之前我們試過,默認是注釋的狀態(tài)
# unixsocket /run/redis.sock
# unixsocketperm 700

#
 客戶端空閑多久后關(guān)閉連接
timeout 0

#
 客戶端保持活躍狀態(tài)的時間,推薦就是 300s 
tcp-keepalive 300

TLS/SSL 配置

這一塊的配置是用于配置安全套接字連接的,對應(yīng)的 HTTP 上就是 HTTPS 的那個意思。不過一般我們也很少會配置這里,因為大部分情況下其實我們的 Redis 會優(yōu)先配置在內(nèi)網(wǎng)使用,如果有外網(wǎng)使用需求的話,增加這一套配置是對于安全的又一層保障。

# 默認情況下,TLS/SSL 是關(guān)閉的
# 如果要打開的話,先把 port 設(shè)置成 0 
# 然后打開下面這個注釋
# tls-port 6379

#
 配置X.509證書和私鑰以用于驗證
# tls-cert-file redis.crt
# tls-key-file redis.key

#
 如果密鑰文件使用密碼短語加密就在下面這里直接配置上
# tls-key-file-pass secret

#
 有的時候,可能會配置不同的證書,比如客戶端證書和服務(wù)端證書
# 在這里,可以直接配置客戶端證書
# tls-client-cert-file client.crt
# tls-client-key-file client.key

#
 客戶端證書如果是密碼的,也可以直接把密碼寫在這里
# tls-client-key-file-pass secret

#
 配置 Diffie-Hellman (DH) 文件,使用 DH 密鑰
# tls-dh-params-file redis.dh

#
 配置使用 CA 證書進行驗證
# tls-ca-cert-file ca.crt
# tls-ca-cert-dir /etc/ssl/certs

#
 默認情況下,需要客戶端使用有效的客戶端證書
# 如果配置為 no 則不需要也不接受客戶端證書
# 如果配置為 optinal 則接受客戶端請收并驗證其有效,但并不是必須的
# tls-auth-clients no
# tls-auth-clients optional

#
 默認情況下,主從復(fù)制和 Cluster 間不會使用 TLS ,這里可以設(shè)置成 yes 開啟主從復(fù)制也使用 TLS
# tls-replication yes
# tls-cluster yes

#
 使用什么 TLS 協(xié)議
# 下面打開注釋就是只啟用 1.2 和 1.3 的 TLS ,不使用 1.1x 版本
# tls-protocols "TLSv1.2 TLSv1.3"

#
 配置允許的密碼,只對小于等于 TLSv1.2 以下的版本有效
# tls-ciphers DEFAULT:!MEDIUM

#
 配置 TLSv1.3 所使用的密碼套件信息
# tls-ciphersuites TLS_CHACHA20_POLY1305_SHA256

#
 使用 yes 的話,選擇密碼時,使用服務(wù)器的首選項
# 設(shè)置 no 的話,服務(wù)端跟隨客戶端的選擇
# tls-prefer-server-ciphers yes

#
 禁用或開啟 TLS 緩存
# tls-session-caching no

#
 TLS 緩存會話的默認數(shù)量,不設(shè)置或者保持注釋狀態(tài)的話,默認是 20480
# tls-session-cache-size 5000

#
 TLS 緩存會話的超時時間
# tls-session-cache-timeout 60

好吧,實話實說,從來沒配置過這一塊的內(nèi)容,所以說只能是照著注釋大概翻譯一下。

GENERAL 通用配置

通用配置這一塊,比較常用的是下面幾個配置。

daemonize yes  #后臺運行
pidfile "/var/run/redis_6379.pid" # 進程id文件存放路徑
databases 16 # 庫數(shù)量

這三個配置之前的文章中也都用過,也不用多解釋了,剩下的東西我們再通過注釋看一下。

# 可以通過upstart和systemd管理Redis守護進程
# 不是我們常見的那個 supervisectl 工具
# upstart 和 systemd 是大部分 Linux 自帶的那個
# supervised auto

#
 服務(wù)端日志輸出級別
# 有 debug、verbose、notice、warning 
# debug 輸出的內(nèi)容最多全面,適合測試環(huán)境
# notic 和 warning 適合生產(chǎn)環(huán)境
loglevel notice

#
 配置日志的輸出路徑
# 如果 daemonize 是 no ,輸出到控制臺
# 如果 daemonize 是 yes ,輸出到指定的路徑文件中,如果沒配,輸出到 /dev/null
logfile ""

#
 系統(tǒng)日志記錄相關(guān)的配置
# syslog-enabled no
# syslog-ident redis
# syslog-facility local0

#
 系統(tǒng)崩潰日志相關(guān)的配置
# crash-log-enabled no
# crash-memcheck-enabled no

#
 啟動時顯示 Redis 的 Logo 不
always-show-logo no

#
 Linux 下查看進程名時,是否設(shè)置 Redis 的進程名
# 就是我們用 ps 命令查看時的那個名字
set-proc-title yes

#
 進程名的模板
proc-title-template "{title} {listen-addr} {server-mode}"

SNAPSHOTTING 快照配置

這一塊呀,其實就是 RDB 相關(guān)的配置,本身對于 RDB 持久話來說,它就是一種快照機制。因此,這一大塊的配置名稱也是使用的 SNAPSHOTTING 。

# 不用多解釋了吧,RDB 持久化的規(guī)則
# 不記得的小伙伴看之前的 Redis進階:持久化策略 這篇文章或者視頻哦
save 3600 1
save 300 100
save 60 10000

#
 假如 bgsave 的時候發(fā)生問題,默認情況下會禁止寫入
# 這個吧,可以幫助發(fā)現(xiàn)問題,也就是持久化失敗了會很明顯的出現(xiàn)無法寫入數(shù)據(jù)的情況
# 但如果你已經(jīng)有了對于持久化的監(jiān)控,把它關(guān)掉也可以
stop-writes-on-bgsave-error yes

#
 是否在持久化時對數(shù)據(jù)進行 LZF 壓縮
rdbcompression yes

#
 是否對 RDB 內(nèi)容進行 CRC64 簽名檢查
rdbchecksum yes

#
 啟用或禁用對于 ziplist 和 listpack 的完整整理
# 可以設(shè)置 no yes clients 
# 默認值是  clients ,表示僅對客戶端連接進行整理,但它會影響集群
# 集群操作時,可以臨時設(shè)置為 no
# sanitize-dump-payload no

#
 RDB 文件的名稱
dbfilename "dump.rdb"

#
 刪除同步文件,僅在有 AOF 文件時有效
# 主從復(fù)制時,在沒有配置 RDB 持久化策略的機器上是否刪除復(fù)制時使用的 RDB 文件
rdb-del-sync-files no

#
 工作目錄
# 之前講過,rdb、aof、cluster nodes 文件都會放到這個目錄下
dir "/usr/local/var/db/redis"

REPLICATION 主從復(fù)制相關(guān)配置

主從配置是一塊非常大的配置部分,有很多的配置參數(shù)。不過當(dāng)時我們學(xué)習(xí)的時候大部分都是在命令行操作的,而且其實主要接觸到的也就那么兩個命令以及對應(yīng)的配置參數(shù)。其它的配置參數(shù)咱們今天就一起都來好好看看。

# 不多解釋了吧
# 之前文章中我們使用的是在命令中直接配置
# 也說過在配置文件中也可以直接配置,就是在這里了
# replicaof <masterip> <masterport>

#
 主從配置時認證相關(guān)的內(nèi)容
# 之前也講過了
# masterauth <master-password>
# masteruser <username>

#
 當(dāng)從庫失去與主機的連接之后要怎么辦?
# 設(shè)置為 yes ,就還是正常響應(yīng)命令及結(jié)果,但可以包含過期數(shù)據(jù)
# 設(shè)置為 no ,除了 INFO、REPLICAOF 等等的一些命令之外,其它的命令報錯
# 具體哪些命令可以使用直接去看原版注釋
replica-serve-stale-data yes

#
 配置從庫是否是只讀的,換成 no 的話就也可以寫入數(shù)據(jù)了
replica-read-only yes

#
 復(fù)制的同步策略,使用磁盤還是socket
# 磁盤就是發(fā)送 RDB 文件
# socket 就是直接主庫請求從庫的socket端口同步命令
# 現(xiàn)在肯定是無盤復(fù)制好些啦,不過默認是 no ,因為無盤復(fù)制還是實驗階段
repl-diskless-sync no

#
 當(dāng)使用無盤復(fù)制的時候,可以配置等待時間
# 一般主庫會等待一會再向從庫發(fā)送數(shù)據(jù)
repl-diskless-sync-delay 5

#
 無盤加載
# 一般情況下,socket 會比文件傳輸快,但也有可能傳送時有新的數(shù)據(jù)
# 這里的配置如果是 disabled ,就是不使用無盤復(fù)制,先將文件保存到磁盤再加載
repl-diskless-load disabled

#
 副本以預(yù)定義的間隔向服務(wù)器發(fā)送PING
# 默認值為10秒
# repl-ping-replica-period 10

#
 復(fù)制的超時時間
# repl-timeout 60

#
 同步之后是否禁用主庫上的 TCP_NODELAY 
# 使用 yes 會使用較少的包向從庫發(fā)送數(shù)據(jù),但會增加延遲和帶寬
repl-disable-tcp-nodelay no

#
 復(fù)制緩沖日志大小
# repl-backlog-size 1mb

#
 緩沖日志刪除時間
# repl-backlog-ttl 3600

#
 復(fù)制副本的優(yōu)先級 優(yōu)先級高的副本在哨兵選舉時的得分會更高
replica-priority 100

#
 在 哨兵 信息中可以移除當(dāng)前副本的信息
# replica-announced yes

#
 從機最小寫入數(shù)量
# 幾個從機處于在線狀態(tài)
# 從機的延遲小于10秒
# min-replicas-to-write 3
# min-replicas-max-lag 10

#
 主庫的 role 命令可以查看到的從庫的信息
# replica-announce-ip 5.5.5.5
# replica-announce-port 1234

無盤復(fù)制大概的意思是指主服務(wù)器直接通過套接字將快照內(nèi)容發(fā)送到從節(jié)點,生成快照是一個遍歷的過程,主節(jié)點會一邊遍歷內(nèi)存,一邊將序列化的內(nèi)容發(fā)送到從節(jié)點,從節(jié)點還是跟之前一樣,先將接收到的內(nèi)容存儲到磁盤文件中,再進行一次性加載。

KEYS TRACKING 鍵跟蹤

主要是對于客戶端的緩存來說的。一般情況下,Redis 支持客戶端緩存一些鍵的內(nèi)容,這樣可以幫助客戶端更快地響應(yīng)數(shù)據(jù)并且減少服務(wù)端的壓力。默認狀態(tài)下是不開啟的,當(dāng)開啟之后,如果數(shù)據(jù)發(fā)生了變化,服務(wù)端會向客戶端發(fā)通知并更新緩存,而客戶端緩存的鍵數(shù)量如果超出了下面設(shè)置的值,就會隨機刪除一個之前緩存的客戶端緩存 Key 。

# 客戶端緩存時跟蹤的鍵數(shù)量
# tracking-table-max-keys 1000000

更詳細的資料大家可以自己再去搜索一下哈。

SECURITY 安全配置

安全相關(guān)的配置不用我說大家應(yīng)該也想到了,一個是全局密碼,一個是之前我們學(xué)過的 ACL ,這兩塊的配置之前也是在命令行中直接操作的,同樣地,它們也可以通過配置文件來實現(xiàn)。另外,ACL 配置文件還可以單獨設(shè)置一個配置文件,我們也講過。

# ACL 用戶的配置
# user alice on -DEBUG +@all ~* >somepassword

#
 ACL 日志長度
acllog-max-len 128

#
 使用單獨的 acl 文件保存 acl 用戶信息
#aclfile /usr/local/etc/redis_users.acl

#
 全局密碼配置
# requirepass aabbcc

#
 為 PUB/SUB 模式提供用戶的默認權(quán)限
# acl-pubsub-default resetchannels

#
 給命令重命名(已標(biāo)記為廢棄)
# 可以更改危險命令的名稱
# 現(xiàn)在推薦的是使用 ACL 控制用戶可以執(zhí)行的命令權(quán)限
# rename-command CONFIG ""

CLIENTS 客戶端配置

就一個,客戶端的最大連接數(shù)。另外在系統(tǒng)層面還要注意 Linux 系統(tǒng)的 ulimit 配置。

maxclients 10000

總結(jié)

今天的內(nèi)容是配置文件學(xué)習(xí)的第一部分,主要是基本配置、快照(RDB)、主從復(fù)制、安全相關(guān)配置的內(nèi)容。有很多內(nèi)容是我們之前用過的,但更多的內(nèi)容其實是我們平常很少會接觸到的,在這里不管用不用得到,大概的看一眼留個印象才是更重要的。如果確實想要精通整個 Redis 以及需要對 Redis 優(yōu)化有深度需求的同學(xué),那還是要更加詳細地了解每個配置參數(shù)的作用以及它們更詳細的含義。

下篇文章我們將繼續(xù)學(xué)習(xí)配置文件中后半部分的內(nèi)容。

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
redis sentinel 主從切換(failover)解決方案,詳細配置
深入Redis 主從復(fù)制原理
Redis服務(wù)之常用配置(三)
深入學(xué)習(xí)Redis高可用的基石:主從復(fù)制
redis配置文件全解
Redis 2.8 配置文件說明
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服