背景
技術的更新迭代,是程式設計師最最最頭大的事,總是在每個網路角落中有感慨聲:學不動啦;
其實新技術並不是憑空而出,而是隨著業務推進、資料驅動、技術積累促使開發者的不斷探索和實踐,最終橫空出世--“新技術”;
對於專案而言,並不是一開始就能把所有的需求、架構和效能都做到極致,而是通過一次次的迭代;最經典的的案例就是淘寶網的演變,從最初的單體程式到現在人人都效仿的大專案,其經歷了無數次的變遷和優化(“淘寶技術這十年”記錄了一次次的優化過程);
由於網際網路的高併發、高可擴、高效能需求(所謂的網際網路三高),促使了很多非關係型資料應用和發展,如Key-Value資料庫(Redis、Oracle BDB等)、列儲存資料庫(HBase等)、文件型資料庫(MongoDb等)、圖形資料庫(Infinite Graph、Neo4J等),各種非關聯式資料庫都在各自領域扮演極其重要的角色; 其中Redis成為Web2.0資料快取的利器,同時也成為小夥伴們必知必會的技能。
初識Redis
什麼是Redis?
Redis(Remote Dictionary Server ),即遠端字典服務,是一個開源的使用ANSI C語言編寫、支援網路、可基於記憶體亦可持久化的日誌型、Key-Value資料庫,並提供多種語言的API
百度百科
簡單的理解就是一個Key-Value資料庫,即字典形式儲存,歸類於NoSql(通常理解為“Not Only SQL”)資料庫;官網地址如下:
為什麼要用Redis?
- 開源:除了使用沒障礙,開源會促進其發展;
- 快:運算元據快,效能高;
- 擴充套件性好:根據需要很容易進行擴充套件,叢集、主從複製等;
- 比較活躍:文件詳細,版本維護及時,社群討論都很活躍;
預設埠6379的背後故事
6379在是手機按鍵上MERZ對應的號碼,而MERZ取自義大利歌女Alessia Merz的名字;Redis 作者 Antirez 早年看電視節目,覺得 Merz 在節目中的一些話愚蠢可笑,Antirez 喜歡造“梗”用於平時和朋友們交流,於是造了一個詞 "MERZ",形容愚蠢,所以當要為Redis選擇一個數字埠的時候就使用6379(這個緣由不必抬槓,當做瞭解即可,畢竟不影響我們學習和使用)。
執行環境和版本
官方推薦在Linux環境中進行部署使用。
以上大概意思就是推薦使用Linux,對於Windows沒有提供官方支援;平時使用的Windows版本是微軟提供的,而且已經好久沒維護。
Redis 使用標準版本標記進行版本控制:major.minor.patchlevel(主版本.****次版本.優化版本)。偶數的版本號表示穩定的版本, 例如 1.2,2.0,2.2,2.4,2.6,2.8,奇數的版本號用來表示非標準版本,例如2.9.x是非穩定版本,它的穩定版本是3.0。
整理大概內容
概述->資料型別及應用場景->事務->配置檔案詳解->持久化->釋出訂閱->主從複製->哨兵模式->Lua指令碼操作->布隆過濾器->其他擴充套件(快取雪崩、穿透、資料一致性等)
Windows安裝
噗,說好的推薦Linux中執行的,好吧,我承認,這裡要偷個懶,為了方便,接下來的學習打算在Windows進行,後續還是會切換到Linux的。當然,實際部署還是推薦Linux。
-
下載
windows下載地址:https://github.com/microsoftarchive/redis/releases/tag/win-3.2.100
-
拷到自己想放的資料夾,然後解壓;
-
先開啟redis-server.exe,再開啟redis-cli.exe,測試是否連線成功
安裝如此簡單,知道我偷懶的原因了吧,哈哈哈~~~Linux環境的安裝後續再補上。
最後
對於Redis的使用,存在以下公認現象:
- 所有開發者中,80%會用,20%還沒用過;
- 在使用過程中,80%只會string,20%應用熟練;
- 在熟練應用的開發者中,80%只會常規操作,20%高階應用;
當然,每個人都在進步,關注“Code綜藝圈”一起學習,我們一起努力成為最後一個20%的人。
一個被程式搞醜的帥小夥,關注"Code綜藝圈",識別關注跟我一起學~~~
擼文不易,莫要白瞟,三連走起~~~~