詳解)
^^《榴芒客服系統(tǒng)》是我們工作室開發(fā)的在線客服系統(tǒng)歡迎下載試用《榴芒客服系統(tǒng)》https://blog.csdn.net/look4liming/article/details/164755808網(wǎng)絡(luò)與連接配置bind監(jiān)聽IP默認(rèn)127.0.0.1。生產(chǎn)環(huán)境應(yīng)綁定內(nèi)網(wǎng)IP?嚴(yán)禁?設(shè)為0.0.0.0且不設(shè)密碼否則極易被入侵掃描。?port監(jiān)聽端口默認(rèn)6379。?protected-mode保護(hù)模式默認(rèn)yes。yes時(shí)如果沒有設(shè)置bind或密碼則只能本地訪問。?timeout?客戶端空閑連接超時(shí)時(shí)間秒。0表示永不超時(shí)。設(shè)太短會(huì)導(dǎo)致頻繁重連損失性能。?tcp-keepaliveTCP?;钐綔y間隔秒。0表示不啟用建議設(shè)為300左右釋放死連接。?tcp-backlogTCP連接隊(duì)列長度默認(rèn)511。高并發(fā)場景可調(diào)大至1024同時(shí)需同步調(diào)大系統(tǒng)內(nèi)核參數(shù)somaxconn和tcp_max_syn_backlog才能生效。?maxclients?最大客戶端連接數(shù)默認(rèn)10000。超過后新連接會(huì)被拒絕。??內(nèi)存管理配置?maxmemory?Redis最大可用內(nèi)存單位支持kb、mb、gb。生產(chǎn)環(huán)境建議設(shè)為物理內(nèi)存的?60%-70%?并預(yù)留空間給操作系統(tǒng)和其他進(jìn)程避免OOM。?maxmemory-policy?內(nèi)存達(dá)到上限后的淘汰策略詳細(xì)介紹請參考我的另一篇博文《Redis緩存淘汰策略》。maxmemory-samples?LRU/LFU/TTL算法的采樣數(shù)量默認(rèn)5。調(diào)大到10更接近精確LRU但更耗CPU調(diào)小到3更快但不準(zhǔn)。持久化配置?save?RDB快照觸發(fā)條件格式為save 秒 改動(dòng)次數(shù)可配多條滿足任一即觸發(fā)。默認(rèn)是save 900 1、save 300 10、save 60 10000。?stop-writes-on-bgsave-error?RDB快照出錯(cuò)時(shí)是否停止寫入默認(rèn)yes防止數(shù)據(jù)損壞。?appendonly?是否開啟AOF持久化默認(rèn)no。開啟后每條寫命令都會(huì)記錄到AOF文件重啟時(shí)可恢復(fù)數(shù)據(jù)。?appendfsync?AOF同步策略三個(gè)選項(xiàng)always每次寫操作都同步最安全但最慢。everysec每秒同步一次性能和安全折中?默認(rèn)值?。no由操作系統(tǒng)決定何時(shí)同步最快但可能丟更多數(shù)據(jù)。?auto-aof-rewrite-percentage / auto-aof-rewrite-min-size?AOF自動(dòng)重寫觸發(fā)條件。當(dāng)AOF文件比上次重寫時(shí)大了100%且超過64mb時(shí)觸發(fā)重寫壓縮文件體積。?aof-use-rdb-preamble?混合持久化Redis 4.0AOF文件頭部用RDB格式后續(xù)用AOF格式兼顧恢復(fù)速度和文件大小。??安全配置?requirepass?設(shè)置訪問密碼客戶端連接后需通過AUTH命令驗(yàn)證。生產(chǎn)環(huán)境?必須設(shè)置強(qiáng)密碼?避免弱口令被爆破。?ACL?Redis 6.0的訪問控制列表可精細(xì)控制每個(gè)用戶能執(zhí)行的命令和訪問的key比requirepass更靈活??梢酝ㄟ^配置文件或aclfile外部文件定義用戶和權(quán)限規(guī)則。?rename-command?可以重命名危險(xiǎn)命令如FLUSHALL、CONFIG降低誤操作或被攻擊的風(fēng)險(xiǎn)。??通用與性能配置?daemonize?是否以守護(hù)進(jìn)程方式后臺(tái)運(yùn)行默認(rèn)no。生產(chǎn)環(huán)境設(shè)為yes。?loglevel / logfile?日志級(jí)別debug、verbose、notice、warning和日志文件路徑。生產(chǎn)環(huán)境建議warning級(jí)別并輸出到獨(dú)立文件。?databases?數(shù)據(jù)庫數(shù)量默認(rèn)16編號(hào)0-15。Redis 6.0后更推薦用命名空間key前綴代替多庫。?activerehashing?是否開啟主動(dòng)哈希重哈希默認(rèn)yes。開啟能提升查詢效率但消耗CPUCPU緊張時(shí)可關(guān)閉。?client-output-buffer-limit?限制客戶端輸出緩沖區(qū)大小防止慢客戶端拖垮服務(wù)器。如normal 0 0 0表示普通客戶端不限制slave 256mb 64mb 60表示從節(jié)點(diǎn)硬限制256MB、軟限制64MB持續(xù)60秒觸發(fā)。?slowlog-log-slower-than / slowlog-max-len?慢查詢?nèi)罩鹃撝滴⒚牒妥畲髼l數(shù)默認(rèn)1000010毫秒和128。生產(chǎn)環(huán)境建議調(diào)低閾值方便排查性能問題。?hz?Redis每秒執(zhí)行后臺(tái)任務(wù)的頻率默認(rèn)10。調(diào)高會(huì)加快過期key清理和內(nèi)存淘汰但更耗CPU。??配置管理方式?啟動(dòng)加載?redis-server /path/to/redis.conf。?運(yùn)行時(shí)動(dòng)態(tài)修改?CONFIG SET 參數(shù) 值部分參數(shù)立即生效如maxmemory、maxmemory-policy但bind、port、daemonize等啟動(dòng)參數(shù)需重啟生效。?持久化配置?CONFIG REWRITE可將運(yùn)行時(shí)修改寫回redis.conf文件。?查看當(dāng)前配置?CONFIG GET *查看所有或CONFIG GET 參數(shù)查看單個(gè)。??修改配置前先在測試環(huán)境驗(yàn)證確認(rèn)無副作用再上生產(chǎn)。另外Redis集群模式下每個(gè)節(jié)點(diǎn)需獨(dú)立配置且各節(jié)點(diǎn)淘汰策略應(yīng)保持一致避免數(shù)據(jù)分布不均。??快速參考建議?純緩存場景?maxmemory設(shè)為物理內(nèi)存的60%-70%maxmemory-policy allkeys-lru可關(guān)閉持久化appendonly no提升性能。?數(shù)據(jù)不能丟?開啟AOF并設(shè)appendfsync everysec可同時(shí)保留RDB做快速恢復(fù)不要用noeviction否則內(nèi)存滿會(huì)直接拒絕寫入導(dǎo)致業(yè)務(wù)中斷。?安全底線?綁定內(nèi)網(wǎng)IP 設(shè)置強(qiáng)密碼或ACL 開啟protected-mode有條件再改默認(rèn)端口。?監(jiān)控與排查?開啟慢查詢?nèi)罩緎lowlog-log-slower-than用INFO memory和redis-cli --stat觀察內(nèi)存和淘汰情況evicted_keys用redis-cli --intrinsic-latency測試系統(tǒng)延遲。^^《榴芒客服系統(tǒng)》是我們工作室開發(fā)的在線客服系統(tǒng)歡迎下載試用《榴芒客服系統(tǒng)》https://blog.csdn.net/look4liming/article/details/164755808