基本配置
- 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文件會寫入該目錄
-
bind 127.0.0.1 # 指定 redis 只接收來自于該IP地址的請求,如果不進行設置,那么將處理所有請求
-
protected-mode yes #是否開啟保護模式,默認開啟。要是配置里沒有指定bind和密碼。開啟該參數后,redis只會本地進行訪問拒絕外部訪問。要是開啟了密碼和bind,可以開啟。否則最好關閉,設置為no
-
port 6379 #redis監聽的端口號
-
timeout 333 #此參數為設置客戶端空閑超過timeout,服務端會斷開連接,為0則服務端不會主動斷開連接,不能小于0
主從配置
- 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 -> 隨機刪除過期key
- allkeys-random -> 隨機刪除key(不區分過不過期)
- volatile-ttl -> 刪除快過期的key
- noeviction -> 不刪除,返回錯誤信息
日志模式
- 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 #退出連接
?
?
?