內容簡述
mysql資料庫,是放在硬碟裡的隨著網際網路+大資料時代的來臨,傳統的關係型資料庫已經不能滿足中大型**日益增長的訪問量和資料量。這個時候就需要一種能夠快速訪問資料的元件來緩解資料庫服務i/o的壓力,來解決系統效能上的瓶頸。redis資料庫,是放在記憶體裡的
隨著網際網路 需求劇增,傳統的關聯式資料庫mysq,不能滿足超大規模和高併發的應用。l資料庫,已經適應不了資料輸入輸出的壓力,而快取可以降低讀取壓力。
可以說,想開發中大型專案就必須知道redis
1.在網際網路+大資料時代來臨之前,企業的一些內部資訊管理系統,乙個單個資料庫例項就能滿足系統的需求
單資料庫例項
2.隨著系統訪問使用者的增多,資料量的增大,單個資料庫例項已經滿足不了系統的讀取需求
快取(memcache)+單資料庫例項
3.快取可以緩解系統的讀取壓力,但是資料量的寫入壓力持續增大,
快取+主從資料庫+讀寫分離
4.資料量再次增大,讀寫分離以後,主資料庫的寫庫壓力出現瓶頸、
快取+主從資料庫集群+讀寫分離+分庫分表
5.網際網路+大資料時代來臨,關係型資料庫不能很好的訪問一些併發性高,實時性高的,並且資料格式不固定的資料。
nosql+主從資料庫集群+讀寫分離+分庫分表
redis是乙個高效能的,開源的,c語言開發的,基於記憶體的、先進的key-value儲存系統,是用於構建高效能,鍵值對儲存資料的nosql資料庫,可擴充套件的web應用程式的完美解決方案。
nosql:not only sql,泛指非關係型資料庫 redis/mongodb/hbase hadoop
關係型資料庫:mysql、oracle、sqlserver
從github上我們可以看到,redis的作者是乙個叫salvatore sanfilippo的外國友人,這是他的github主頁:下面附帶作者的主頁上較有趣的頭像
* redis支援資料的持久化,可以將記憶體中的資料儲存在磁碟中,重啟的時候可以再次載入進行使用
* redis不僅僅支援簡單的key-value型別的資料,同時還提供list,set等資料型別
* redis支援資料的備份
redis 資料庫中的所有資料都儲存在記憶體中。由於記憶體的讀寫速度遠快於硬碟。因此 redis 在效能上對比其他基於硬碟儲存的資料庫有非常明顯的優勢,在一台普通的膝上型電腦上,redis 可以在一秒內讀寫超過十萬個鍵值。
將資料儲存在記憶體中也有問題,例如,程式退出後記憶體中的資料會丟失。redis 發展歷程redis 的發展大概經過了以下幾個過程:
* 2009 年 5 月發布 redis 初始版本;
* 2012 年發布 redis 2.6,重構了大量的核心**,去掉了所有和集群相關的**;
* 2013 年 11 月發布 redis 2.8,增加了部分主從複製功能;
* 2015 年 4 月發布 redis 3.0,增加了集群功能;
* 2017 年 7 月發布 redis 4.0 ,優化了複製功能和新增了混合持久化;
* 2018 年 10 月發布 redis 5.0,增加了 stream 資料型別;
* 2020 年 3-5 月計畫發布 redis 6.0 穩定版。
redis的主要作用:快速訪問 Redis學習 二 之Redis簡單命令操作
一 伺服器端簡單操作 啟動linux時自啟動redis 將redis.conf檔案中的daemonize yes。啟動redis伺服器端 redis server usr software redis etc redis.conf。二 客戶端簡單操作 1 redis兩種啟動啟動方式 帶引數方式啟動 ...
Redis的學習筆記01
redis命令 1 操作string 1 設定 a 設定鍵值 set key value b 設定鍵值及過期時間,以秒為單位 setex key seconds value c 設定多個鍵值 mset key value key value key value 可以有多個 2 獲取 a 根據鍵獲取值...
Redis學習筆記之Redis的物件
型別與編碼 typedef struct redisobject robj 1.字串物件 編碼 int,整數值,而且這個整數值可以用long型別來表示 raw,字串值,而且字串值的長度大於32位元組,sds的記憶體與redisobject記憶體不連續 embstr,字串值,而且字串值的長度小於32位...