跟我一起學Redis之Redis概述

Code綜藝圈發表於2020-09-23

背景

技術的更新迭代,是程式設計師最最最頭大的事,總是在每個網路角落中有感慨聲:學不動啦;

img

其實新技術並不是憑空而出,而是隨著業務推進、資料驅動、技術積累促使開發者的不斷探索和實踐,最終橫空出世--“新技術”;

img

對於專案而言,並不是一開始就能把所有的需求、架構和效能都做到極致,而是通過一次次的迭代;最經典的的案例就是淘寶網的演變,從最初的單體程式到現在人人都效仿的大專案,其經歷了無數次的變遷和優化(“淘寶技術這十年”記錄了一次次的優化過程);

img

由於網際網路的高併發、高可擴、高效能需求(所謂的網際網路三高),促使了很多非關係型資料應用和發展,如Key-Value資料庫(Redis、Oracle BDB等)、列儲存資料庫(HBase等)、文件型資料庫(MongoDb等)、圖形資料庫(Infinite Graph、Neo4J等),各種非關聯式資料庫都在各自領域扮演極其重要的角色; 其中Redis成為Web2.0資料快取的利器,同時也成為小夥伴們必知必會的技能。

img

初識Redis

什麼是Redis?

Redis(Remote Dictionary Server ),即遠端字典服務,是一個開源的使用ANSI C語言編寫、支援網路、可基於記憶體亦可持久化的日誌型、Key-Value資料庫,並提供多種語言的API

百度百科

簡單的理解就是一個Key-Value資料庫,即字典形式儲存,歸類於NoSql(通常理解為“Not Only SQL”)資料庫;官網地址如下:

英文版:https://redis.io/

中文版:http://www.redis.cn/

為什麼要用Redis?

  • 開源:除了使用沒障礙,開源會促進其發展;
  • 快:運算元據快,效能高;
  • 擴充套件性好:根據需要很容易進行擴充套件,叢集、主從複製等;
  • 比較活躍:文件詳細,版本維護及時,社群討論都很活躍;

預設埠6379的背後故事

6379在是手機按鍵上MERZ對應的號碼,而MERZ取自義大利歌女Alessia Merz的名字;Redis 作者 Antirez 早年看電視節目,覺得 Merz 在節目中的一些話愚蠢可笑,Antirez 喜歡造“梗”用於平時和朋友們交流,於是造了一個詞 "MERZ",形容愚蠢,所以當要為Redis選擇一個數字埠的時候就使用6379(這個緣由不必抬槓,當做瞭解即可,畢竟不影響我們學習和使用)。

執行環境和版本

官方推薦在Linux環境中進行部署使用。

img

以上大概意思就是推薦使用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。

  1. 下載

    windows下載地址:https://github.com/microsoftarchive/redis/releases/tag/win-3.2.100

    img

  2. 拷到自己想放的資料夾,然後解壓;

    img

  3. 先開啟redis-server.exe,再開啟redis-cli.exe,測試是否連線成功

    img

安裝如此簡單,知道我偷懶的原因了吧,哈哈哈~~~Linux環境的安裝後續再補上。

最後

對於Redis的使用,存在以下公認現象:

  • 所有開發者中,80%會用,20%還沒用過;
  • 在使用過程中,80%只會string,20%應用熟練;
  • 在熟練應用的開發者中,80%只會常規操作,20%高階應用;

當然,每個人都在進步,關注“Code綜藝圈”一起學習,我們一起努力成為最後一個20%的人。

一個被程式搞醜的帥小夥,關注"Code綜藝圈",識別關注跟我一起學~~~

擼文不易,莫要白瞟,三連走起~~~~

相關文章