Redis配置文件redis.conf詳細(xì)配置說明
redis.conf 配置項說明如下
redis配置文件詳解
# vi redis.conf daemonize yes #是否以后臺進(jìn)程運行 pidfile /var/run/redis/redis-server.pid #pid文件位置 port 6379#監(jiān)聽端口 bind 127.0.0.1 #綁定地址,如外網(wǎng)需要連接,設(shè)置0.0.0.0 timeout 300 #連接超時時間,單位秒 loglevel notice #日志級別,分別有: # debug :適用于開發(fā)和測試 # verbose :更詳細(xì)信息 # notice :適用于生產(chǎn)環(huán)境 # warning :只記錄警告或錯誤信息 logfile /var/log/redis/redis-server.log #日志文件位置 syslog-enabled no #是否將日志輸出到系統(tǒng)日志 databases 16#設(shè)置數(shù)據(jù)庫數(shù)量,默認(rèn)數(shù)據(jù)庫為0 ############### 快照方式 ############### save 900 1 #在900s(15m)之后,至少有1個key發(fā)生變化,則快照 save 300 10 #在300s(5m)之后,至少有10個key發(fā)生變化,則快照 save 60 10000 #在60s(1m)之后,至少有1000個key發(fā)生變化,則快照 rdbcompression yes #dump時是否壓縮數(shù)據(jù) dir /var/lib/redis #數(shù)據(jù)庫(dump.rdb)文件存放目錄 ############### 主從復(fù)制 ############### slaveof <masterip> <masterport> #主從復(fù)制使用,用于本機(jī)redis作為slave去連接主redis masterauth <master-password> #當(dāng)master設(shè)置密碼認(rèn)證,slave用此選項指定master認(rèn)證密碼 slave-serve-stale-data yes #當(dāng)slave與master之間的連接斷開或slave正在與master進(jìn)行數(shù)據(jù)同步時,如果有slave請求,當(dāng)設(shè)置為yes時,slave仍然響應(yīng)請求,此時可能有問題,如果設(shè)置no時,slave會返回"SYNC with master in progress"錯誤信息。但I(xiàn)NFO和SLAVEOF命令除外。 ############### 安全 ############### requirepass foobared #配置redis連接認(rèn)證密碼 ############### 限制 ############### maxclients 128#設(shè)置最大連接數(shù),0為不限制 maxmemory <bytes>#內(nèi)存清理策略,如果達(dá)到此值,將采取以下動作: # volatile-lru :默認(rèn)策略,只對設(shè)置過期時間的key進(jìn)行LRU算法刪除 # allkeys-lru :刪除不經(jīng)常使用的key # volatile-random :隨機(jī)刪除即將過期的key # allkeys-random :隨機(jī)刪除一個key # volatile-ttl :刪除即將過期的key # noeviction :不過期,寫操作返回報錯 maxmemory-policy volatile-lru#如果達(dá)到maxmemory值,采用此策略 maxmemory-samples 3 #默認(rèn)隨機(jī)選擇3個key,從中淘汰最不經(jīng)常用的 ############### 附加模式 ############### appendonly no #AOF持久化,是否記錄更新操作日志,默認(rèn)redis是異步(快照)把數(shù)據(jù)寫入本地磁盤 appendfilename appendonly.aof #指定更新日志文件名 # AOF持久化三種同步策略: # appendfsync always #每次有數(shù)據(jù)發(fā)生變化時都會寫入appendonly.aof # appendfsync everysec #默認(rèn)方式,每秒同步一次到appendonly.aof # appendfsync no #不同步,數(shù)據(jù)不會持久化 no-appendfsync-on-rewrite no #當(dāng)AOF日志文件即將增長到指定百分比時,redis通過調(diào)用BGREWRITEAOF是否自動重寫AOF日志文件。 ############### 虛擬內(nèi)存 ############### vm-enabled no #是否啟用虛擬內(nèi)存機(jī)制,虛擬內(nèi)存機(jī)將數(shù)據(jù)分頁存放,把很少訪問的頁放到swap上,內(nèi)存占用多,最好關(guān)閉虛擬內(nèi)存 vm-swap-file /var/lib/redis/redis.swap #虛擬內(nèi)存文件位置 vm-max-memory 0 #redis使用的最大內(nèi)存上限,保護(hù)redis不會因過多使用物理內(nèi)存影響性能 vm-page-size 32 #每個頁面的大小為32字節(jié) vm-pages 134217728 #設(shè)置swap文件中頁面數(shù)量 vm-max-threads 4 #訪問swap文件的線程數(shù) ############### 高級配置 ############### hash-max-zipmap-entries 512 #哈希表中元素(條目)總個數(shù)不超過設(shè)定數(shù)量時,采用線性緊湊格式存儲來節(jié)省空間 hash-max-zipmap-value 64 #哈希表中每個value的長度不超過多少字節(jié)時,采用線性緊湊格式存儲來節(jié)省空間 list-max-ziplist-entries 512 #list數(shù)據(jù)類型多少節(jié)點以下會采用去指針的緊湊存儲格式 list-max-ziplist-value 64 #list數(shù)據(jù)類型節(jié)點值大小小于多少字節(jié)會采用緊湊存儲格式 set-max-intset-entries 512 #set數(shù)據(jù)類型內(nèi)部數(shù)據(jù)如果全部是數(shù)值型,且包含多少節(jié)點以下會采用緊湊格式存儲 activerehashing yes #是否激活重置哈希
總結(jié):
1、redis提供幾種持久化機(jī)制:
a). RDB持久化
工作方式 :根據(jù)時間的間隔將redis中數(shù)據(jù)快照(dump)到dump.rdb文件
優(yōu)勢 :備份恢復(fù)簡單。RDB通過子進(jìn)程完成持久化工作,相對比AOF啟動效率高
劣勢 :服務(wù)器故障會丟失幾分鐘內(nèi)的數(shù)據(jù)
b). AOF持久化
工作方式 :以日志的形式記錄所有更新操作到AOF日志文件,在redis服務(wù)重新啟動時會讀取該日志文 件來重新構(gòu)建數(shù)據(jù)庫,以保證啟動后數(shù)據(jù)完整性。
優(yōu)勢 :AOF提供兩種同步機(jī)制,一個是fsync always每次有數(shù)據(jù)變化就同步到日志文件和fsync everysec每秒同步一次到日志文件,最大限度保證數(shù)據(jù)完整性。
劣勢:日志文件相對RDB快照文件要大的多
AOF日志重寫功能 :
AOF日志文件過大,redis會自動重寫AOF日志,append模式不斷的將更新記錄寫入到老日志文件中,同時redis還會創(chuàng)建一個新的日志文件用于追加后續(xù)的記錄。
c). 同時應(yīng)用AOF和RDB
對于數(shù)據(jù)安全性高的場景,可同時使用AOF和RDB,這樣會降低性能。
d). 無持久化
禁用redis服務(wù)持久化功能。
2、AOF日志文件出錯后,修復(fù)方法 :
redis-check-aof --fix appendonly.aof #--fix參數(shù)為修復(fù)日志文件,不加則對日志檢查
3、不重啟redis從RDB持久化切換到AOF持久化 :
redis-cli> CONFIG SET appendonly yes #啟用AOF redis-cli> CONFIG SET save "" #關(guān)閉RDB
redis配置文件詳解列出了redis基礎(chǔ)配置項都是比較常用的,使用redis一定要了解這些配置項
相關(guān)文章
redis的hGetAll函數(shù)的性能問題(記Redis那坑人的HGETALL)
這篇文章主要介紹了redis的hGetAll函數(shù)的性能問題,需要的朋友可以參考下2016-02-02基于Redis實現(xiàn)API接口訪問次數(shù)限制
日常開發(fā)中會有一個常見的需求,需要限制接口在單位時間內(nèi)的訪問次數(shù),比如說某個免費的接口限制單個IP一分鐘內(nèi)只能訪問5次,該怎么實現(xiàn)呢,本文小編給大家介紹了如何基于Redis實現(xiàn)API接口訪問次數(shù)限制,需要的朋友可以參考下2024-11-11Redis監(jiān)控工具RedisInsight安裝與使用
這篇文章主要為大家介紹了Redis監(jiān)控工具RedisInsight的安裝步驟與使用方法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2022-03-03在CentOS 7環(huán)境下安裝Redis數(shù)據(jù)庫詳解
Redis是一個開源的、基于BSD許可證的,基于內(nèi)存的、鍵值存儲NoSQL數(shù)據(jù)本篇文章主要介紹了在CentOS 7環(huán)境下安裝Redis數(shù)據(jù)庫詳解,有興趣的可以了解一下。2016-11-11Redis02 使用Redis數(shù)據(jù)庫(String類型)全面解析
這篇文章主要介紹了Redis02 使用Redis數(shù)據(jù)庫(String類型)全面解析的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-07-07