天天看點

Redis配置檔案詳解

==基本配置

daemonize no 是否以背景程序啟動

databases 16 建立database的數量(預設選中的是database 0)

save 900 1 #重新整理快照到硬碟中,必須滿足兩者要求才會觸發,即900秒之後至少1個關鍵字發生變化。

save 300 10 #必須是300秒之後至少10個關鍵字發生變化。

save 60 10000 #必須是60秒之後至少10000個關鍵字發生變化。

stop-writes-on-bgsave-error yes #背景存儲錯誤停止寫。

rdbcompression yes #使用LZF壓縮rdb檔案。

rdbchecksum yes #存儲和加載rdb檔案時校驗。

dbfilename dump.rdb #設定rdb檔案名。

dir ./ #設定工作目錄,rdb檔案會寫入該目錄。

==主從配置

slaveof <masterip> <masterport> 設為某台機器的從伺服器

masterauth <master-password> 連接配接主伺服器的密碼

slave-serve-stale-data yes # 當主從斷開或正在複制中,從伺服器是否應答

slave-read-only yes #從伺服器隻讀

repl-ping-slave-period 10 #從ping主的時間間隔,秒為機關

repl-timeout 60 #主從逾時時間(逾時認為斷線了),要比period大

slave-priority 100 #如果master不能再正常工作,那麼會在多個slave中,選擇優先值最小的一個slave提升為master,優先值為0表示不能提升為master。

repl-disable-tcp-nodelay no #主端是否合并資料,大塊發送給

slave

slave-priority 100 從伺服器的優先級,當主服挂了,會自動挑slave priority最小的為主服

===安全

requirepass foobared # 需要密碼

rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52 #如果公共環境,可以重命名部分敏感指令 如config

===限制

maxclients 10000 #最大連接配接數

maxmemory <bytes> #最大使用記憶體

maxmemory-policy volatile-lru #記憶體到極限後的處理

volatile-lru -> LRU算法删除過期

key

allkeys-lru -> LRU算法删除key(不區分過不過期)

volatile-random -> 随機删除過期

allkeys-random -> 随機删除key(不區分過不過期)

volatile-ttl -> 删除快過期的key

noeviction -> 不删除,傳回錯誤資訊

#解釋 LRU ttl都是近似算法,可以選N個,再比較最适宜T踢出的資料

maxmemory-samples 3

====日志模式

appendonly no #是否僅要日志

appendfsync no # 系統緩沖,統一寫,速度快

appendfsync always # 系統不緩沖,直接寫,慢,丢失資料少

appendfsync everysec #折衷,每秒寫1次

no-appendfsync-on-rewrite no #為yes,則其他線程的資料放記憶體裡,合并寫入(速度快,容易丢失的多)

auto-AOF-rewrite-percentage 100 目前aof檔案是上次重寫是大N%時重寫

auto-AOF-rewrite-min-size 64mb aof重寫至少要達到的大小

====慢查詢

slowlog-log-slower-than 10000 #記錄響應時間大于10000微秒的慢查詢

slowlog-max-len 128 # 最多記錄128條

====服務端指令

time 傳回時間戳+微秒

dbsize 傳回key的數量

bgrewriteaof 重寫aof

bgsave 背景開啟子程序dump資料

save 阻塞程序dump資料

lastsave

slaveof host port 做host port的從伺服器(資料清空,複制新主内容)

slaveof no one 變成主伺服器(原資料不丢失,一般用于主服失敗後)

flushdb 清空目前資料庫的所有資料

flushall 清空所有資料庫的所有資料(誤用了怎麼辦?)

shutdown [save/nosave] 關閉伺服器,儲存資料,修改AOF(如果設定)

slowlog get 擷取慢查詢日志

slowlog len 擷取慢查詢日志條數

slowlog reset 清空慢查詢

info []

config get 選項(支援*通配)

config set 選項 值

config rewrite 把值寫到配置檔案

config

restart 更新info指令的資訊

debug object key #調試選項,看一個key的情況

debug segfault

#模拟段錯誤,讓伺服器崩潰

object key (refcount|encoding|idletime)

monitor #打開控制台,觀察指令(調試用)

client list #列出所有連接配接

client kill #殺死某個連接配接

CLIENT KILL 127.0.0.1:43501

client getname #擷取連接配接的名稱 預設

nil

client setname "名稱" #設定連接配接名稱,便于調試

====連接配接指令===

auth 密碼 #密碼登陸(如果有密碼)

ping #測試伺服器是否可用

echo "some content" #測試伺服器是否正常互動

select 0/1/2... #選擇資料庫

quit #退出連接配接