跟我一起學Redis之Redis概述

背景

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

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」)資料庫;官網地址如下:

英文版://redis.io/

中文版://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下載地址://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綜藝圈”,識別關注跟我一起學~~~

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