單位
配置文件unit單位對大小寫不敏感
INCLUDES(包含)
可以引入多個配置文件
NETWORK(網絡)
bind 127.0.0.1 #綁定的ip
protected-mode yes #保護模式
port 6379 #端口設置
GENERAL(通用)
daemonize yes #以守護進程的方式運行,默認是no,需要自己開啓爲yes
pidfile /var/run/redis_6379.pid #如果以後臺的方式運行,需要指定一個pid文件
#日誌
# Specify the server verbosity level.
# This can be one of:
# debug (a lot of information, useful for development/testing)
# verbose (many rarely useful info, but not a mess like the debug level)
# notice (moderately verbose, what you want in production probably)
# warning (only very important / critical messages are logged)
loglevel notice
logfile "" #日誌文件位置名
databases 16 #數據庫的數量,默認是16個數據庫.
always-show-logo yes #是否開啓LOGO
SNAPSHOTTING(快照)
持久化,在規定時間內,執行了多少次操作,則會持久化到文件 .rdb .aof
redis是內存數據庫,如果沒有持久化,數據就會斷電即失
#900s內,如果至少有一個key進行了修改,我們舊金山持久化操作
save 900 1
#300s內,如果至少10個key進行了修改,我們就進行持久化操作
save 300 10
#60s內,如果至少10000個key進行了修改,我們就進行持久化操作
save 60 10000
stop-writes-on-bgsave-error yes #持久化如果出錯,是否還需要繼續工作
rdbcompression yes #是否壓縮rbd文件,需要消耗cpu資源
rdbchecksum yes #保存rdb文件的時候,進行錯誤的檢查校驗
dir ./ #rdb文件保存的目錄
SECURIT(安全)
可以設置redis的密碼,默認是沒有密碼
127.0.0.1:6379> ping
PONG
127.0.0.1:6379> config get requirepass #獲取redis的密碼
1) "requirepass"
2) ""
127.0.0.1:6379> config set requirepass "000000" #設置redis的密碼
OK
127.0.0.1:6379> config get requirepass #不登陸命令都沒有權限
(error) NOAUTH Authentication required.
127.0.0.1:6379> ping
(error) NOAUTH Authentication required.
127.0.0.1:6379> auth 000000 #使用密碼進行登陸
OK
127.0.0.1:6379> config get requirepass
1) "requirepass"
2) "000000"
CLIENRTS(限制)
maxclients 10000 #設置能連接上redis的最大客戶端的數量
maxmemory <bytes> #redis配置最大的內存容量
maxmemory-policy noeviction #內存到達上限之後的額處理策略
- volatile-lru:只對設置了過期時間的key進行LRU(默認值)
- allkeys-lru : 刪除lru算法的key
- volatile-random:隨機刪除即將過期key
- allkeys-random:隨機刪除
- volatile-ttl : 刪除即將過期的
- noeviction : 永不過期,返回錯誤
APPEND ONLY MODE(模式)
appendonly no #默認是不開啓aof模式的,默認是使用rdb方式持久化的
appendfilename "appendonly.aof" #持久化的文件名字
# appendfsync always #每次修改都會sync,消耗性能
appendfsync everysec #每秒執行一次sync,可能會丟失這1秒的數據
# appendfsync no #不執行sync,這個時候操作系統自己同步數據,速度最快