1. 程式人生 > >【Redis詳解基礎篇一】

【Redis詳解基礎篇一】

前言

由於專案的原因所以需要深入Redis學習,所以我會不定期的更新~

什麼是Redis

他是開源的BCD協議,使用C編寫的,他是把資料儲存在記憶體中的,使用的是no only sql 資料庫,是鍵值對的方式

Redis的資料型別

redis支援非常多的資料型別,字串,雜湊,列表,集合,有序集合,範圍查詢
在這裡插入圖片描述

支援語言

java,C++,C,Python

Redis的使用用途

  • 快取
  • 中介軟體

Nosql資料分類

KV、文件、列、圖、物件、xml

Redis的歷史

最開始發明redis是為了解決網路負載問題才開發出的redis,同時也是為了解決mysql帶來的缺陷,大量的io輸入輸出

最開始redis出現的原因是下面的架構圖
在這裡插入圖片描述

由於網站的增多,使用者訪問量的增多,導致有大批量的輸入和輸出,當時採用的是mysql資料,mysql一般是把資料儲存在硬碟上的。所以導致大量的輸入輸出。這個時候操作網站的時候會非常的卡,效能非常低,所以這個時候就準備自己寫一個數據庫,基於的是key value形式的,並且他是儲存在記憶體中的,所以減少了io輸入輸出

Redis與Mysql對比

對於mysql,當我們想查詢資料的時候,首先我們現在記憶體中找到索引值,然後通過索引值去硬碟上查詢,但是如果訪問量大的時候會導致io阻塞

針對於redis我們把資料直接存放到記憶體中,不對硬碟進行操作

Redis的功能

  • 持久化:把記憶體中的資料保留在硬碟上,起到備份的作用
  • 釋出訂閱:把訊息同時傳送到客戶端,使用廣播的形式:例如卡槽的形式
  • 過期鍵值:設定Redis儲存中該key儲存的時間 -
  • 事物功能:原子性,使用樂觀鎖(只在提交的時候檢查)
  • 主從複製:多個複製品,減少壓力,安全
  • sentinel哨兵:用於redis的監控,則自動轉移
  • redis叢集|:一部分是讀一部分是寫,減少了壓力

安裝步驟

在這裡插入圖片描述