前言
秋高氣爽的一天,那時候年輕帥氣的我正在參照着搜索引擎寫代碼,迷之微笑般的敲着鍵盤(又從搜索引擎上找到代碼案例啦),突然領導在小隔間里傳來了呼喚聲,然后有了以下場景:
領導:小Z,你過來一下;
當時小年輕的我,拿上紙和筆以迅雷不及掩耳之勢般的速度來到領導跟前;
領導:有個需求,把現在xxx項目的Redis持久化給用上,最好今天下班前搞定,然后用上;
初碰Redis的我,當時很懵,只會簡單的程序操作,只能小聲的回復:好的,我回去查查;
真實案例,短短兩句話就把需求溝通完了,肯定是有問題的,不是領導沒說清楚,而是當時真是菜的不行,連問啥都不知道。好在最后在同事的幫助之下多次與領導溝通,最終完成任務。
對於真正做事,上面的工作需求溝通是有很大問題的:比如持久化頻率?對持久化數據完整性的要求?這些都不確定,最終可能得到結果就不一樣,最主要是這些功能直接通過Redis配置文件修改即可完成,當時聽到需求的時候還以為要寫程序,心里還想着這么短的時間咋能完成。所以學習很重要,類似於這種通過配置文件進行功能配置的應用實在太多,比如MySql,ngnix等等。
既然知道是這么回事,肯定要避免下次出現同樣的尷尬,於是把Redis配置文件啃了一遍;
正文
redis的配置文件注釋其實很詳細,在配置文件中,用#開頭的形式對每個配置項進行描述說明,如下圖對端口的說明:
配置文件位置,這里僅參考,具體根據本機路徑查看:
windows中與運行程序在一塊,如下圖:
linux中的配置文件一般默認為:/usr/local/redis/etc/redis.conf
注:不管是windows還是linux,后續如果需要改配置文件,都建議拷貝一份出來進行修改。
上菜吧,根據Redis配置文件的分段,將配置進行如下圖歸類:
本來想以文字的形式歸納總結的,但卻不知道如何排版,這里就將其總結成一個思維導圖,顯得直觀,如下:
-
單位說明(不分大小寫)
-
INCLUDES(引入外部配置文件)
-
NETWORK(網絡配置)
-
GENERAL(常規配置)
-
SNAPSHOTTING(快照,redis持久化的方式之一,保存文件名以.rdb結尾)
-
REPLICATION(主從復制)
-
SECURITY(安全)
-
LIMITS(限制)
-
APPEND ONLY MODE(追加,Redis持久化方式之二,保存文件名為.aof)
-
LUA SCRIPTING(Lua腳本相關配置)
-
REDIS CLUSTER(Redis集群,實現高可用)
-
SLOW LOG(慢查詢記錄)
-
LATENCY MONITOR(延時監控)
-
ADVANCED CONFIG(高級配置,優化存儲,一般都是默認值,這里先不列出來啦)
以上內容只是對Redis配置文件進行解讀,后續會針對功能點進行舉例演示,比如結合持久化、主從復制、哨兵模式、集群搭建等相關知識點將對應配置進行實例演習,小伙伴敬請期待吧;文中的命令是使用Windows中的配置文件參考的,版本較低,可能命令名稱有細微改動,但功能不變。
總結
這節的主要目的是解讀配置文件內容,大概理解配置文件中各項配置的意思,當遇見相關需求時,有一個正確的思路,避免文章剛開始那種場景發生到小伙伴身上,至少有討論的資本,最終把需求快速理解透。下一篇說說Redis事務。
Redis配置文件整體的腦圖已經上傳到公眾號上,關注"Code綜藝圈",發送Redis即可;
鏈接: https://pan.baidu.com/s/1lhOyFZ9HZncJGwvrgqtQ_Q 提取碼: dj99
Redis配置文件.xmind 下載,方便xmind軟件打開查看
同時整理了一些面試資料,關注公眾號“Code綜藝圈”,發送"面試"獲取下載地址,至於教程,手里的也有一些Web前端、.Net后端、Java的教程,但現在網上資源比較多,大部分小伙伴喜歡在線看;如果有需要,小伙伴可以私聊我,目前先把面試相關的資料放上去,收集內容會持續更新,包含一些大廠面試題,助力小伙伴找到心儀的工作:
一個被程序搞丑的帥小伙,關注"Code綜藝圈",識別關注跟我一起學~~~
擼文不易,莫要白瞟,三連走起~~~~