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