Redis是一個簡單高效的記憶體KV資料庫,基本上下載原始碼make install,編譯完成,然後進入src目錄執行redis-server即可執行。就是因為這麼簡單往往有朋友直接執行,將沒有密碼的redis暴漏外網,最終資料被洩漏。鑑於這些血淚的教訓,有必要來說一下redis的配置檔案,當然這也比較簡單,老鳥可以飄過。
預設的redis.conf存在於下載的原始碼的根目錄下。下面是我配置的部分,沒有列出來的就是我也沒有動過的預設配置項。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
#引用其他配置檔案 # include /path/to/local.conf # include /path/to/other.conf #是否daemon執行no,yes daemonize no #pid檔案的位置 pidfile / tmp / redis.pid #開放的埠號 port 6379 #listen佇列的長度 tcp - backlog 511 #繫結ip地址,多個ip用空格分隔 bind 127.0 . 0.1 #我沒有用到 # unixsocket /tmp/redis.sock # unixsocketperm 755 #客戶端空閒多少s後踢掉,0禁止 timeout 0 #檢測掛掉的連線,單位s,0禁止 tcp - keepalive 0 #日誌的等級,debug,verbose,notice,warning loglevel notice #log檔案的路徑,為空的話直接顯示在終端 logfile "" #是否使用系統logger,一直沒有用過。 # syslog-enabled no/ # syslog-ident redis # syslog-facility local0 #redis中有多少個資料庫,預設即可 databases 16 #將redis記憶體資料序列化到磁碟的時間和頻率 #900s有1個key改變就會序列化,其他的讀者可以自己看下 save 900 1 save 300 10 save 60 10000 #序列化的時候是否停止寫操作 stop - writes - on - bgsave - error yes #序列化的資料是否壓縮 rdbcompression yes #序列化的資料是否校驗其完整性 rdbchecksum yes #序列化的檔名,只是檔案不能帶目錄 dbfilename redis.rdb #序列化檔案的目錄 dir / tmp #以下是主從備份,我還沒有使用到 # slaveof <masterip> <masterport> # masterauth <master-password> slave - serve - stale - data yes slave - read - only yes # repl-ping-slave-period 10 # repl-timeout 60 repl - disable - tcp - nodelay no # repl-backlog-size 1mb # repl-backlog-ttl 3600 slave - priority 100 # min-slaves-to-write 3 # min-slaves-max-lag 10 #客戶端連線的密碼 requirepass hello # rename-command CONFIG "" #限制客戶端的數量 # maxclients 10000 #設定最大可用記憶體 # maxmemory <bytes> #記憶體替換演算法 # maxmemory-policy volatile-lru # maxmemory-samples 3 |
使用:redis-server config-path
redis-cli –a 密碼
示例配置檔案下載(下載後請去掉字尾txt)redis.conf