哈喽大家好啊,這次要來和大家一起來了解學習redis的一系列技術,最終目的是搭建一個高可用redis叢集自動負載災備,那我們先從最基礎的redis的一些基本介紹以及安裝來說起!
附上:
摘錄百度百科介紹
redis是一個開源的使用ansi c語言編寫、支援網絡、可基于記憶體亦可持久化的日志型、key-value資料庫,redis支援豐富的value類型如string(字元串)、list(連結清單)、set(集合)、zset(sorted set --有序集合)和hash(哈希類型)。這些資料類型都支援push/pop、add/remove及取交集并集和差集及更豐富的操作.
redis 是一個高性能的key-value資料庫。 redis的出現,很大程度補償了memcached這類key/value存儲的不足,在部 分場合可以對關系資料庫起到很好的補充作用。它提供了java,c/c++,c#,php,javascript,perl,object-c,python,ruby,erlang等用戶端,使用很友善。
redis支援主從同步。資料可以從主伺服器向任意數量的從伺服器上同步,從伺服器可以是關聯其他從伺服器的主伺服器。這使得redis可執行單層樹複制。存盤可以有意無意的對資料進行寫操作。由于完全實作了釋出/訂閱機制,使得從資料庫在任何地方同步樹時,可訂閱一個頻道并接收主伺服器完整的消息釋出記錄。同步對讀取操作的可擴充性和資料備援很有幫助。
看了上面的介紹已經對redis有了一個了解,redis是一個記憶體緩存key-value資料庫,redis的特點決定了他能解決什麼問題
基于記憶體速度快:适合使用到資料緩存
資料類型多:可以解決多場景對資料存儲的問題
支援push/pop:可以做訂閱等操作
失效時間:适合做一些與時間相關的操作
但是在我們基本使用中來解決的問題大部分就是第一種
比如一個場景我發送了一個驗證碼這個手機号需要和這個驗證碼綁定上,入庫當然是一個選擇但是不是最好的,我們可以把手機号與驗證碼的對應關系存放到redis中,然後在驗證的時候擷取這個驗證碼進行對比
在比如一個場景,我有一個接口接口是擷取所有使用者的資訊,這個使用者資訊可能處理起來需要花費20ms,但是更新不頻繁不需要實時,我們可以用redis作為這個接口的結果緩存,第一次來擷取的時候走正常邏輯,後面都是從redis拿到結果傳回,響應時間從20ms縮短到了1ms
當然使用場景還有很多這些就要大家來結合業務來思考解決方案了
簡單介紹了一下redis以及他的使用場景之後我們來看下redis要如何安裝呢?
redis推薦環境為liunx,windows當然也可以裝不過不推薦,我們這次也是使用liunx環境系統為centos6.5
redis下載下傳可以從上面redsi源碼位址的下載下傳好的壓縮包,推薦2.8以上的版本,因為後面會使用到叢集搭建需要使用到sentinel
這個時候我們就可以測試一下是否可以連接配接上redis
在指令行輸入info,如果看到了資訊,恭喜你已經成功運作起來了redis
更多的指令可以參考上面的redis指令大全
本節先介紹了redis是什麼怎麼用,下一節将介紹redis的配置中幾個比較重要的點,以及怎麼配置主從關系,那麼本節就到這裡了多謝大家的關注!
注:筆者能力有限有說的不對的地方希望大家能夠指出,也希望多多交流!
phalapi官網qq交流群:421032344 歡迎大家的加入!