Redis 01: 非關係型資料庫 + 配置Redis
資料庫應用的發展歷程
-
單機資料庫時代:一個應用,一個資料庫實例
-
快取時代:對某些表中的數據訪問頻繁,則對這些數據設置快取(此時資料庫中總的數據量不是很大)
-
水平切分時代:將資料庫中的表存放到不同資料庫實例中(單張表中存放的數據太多),一個應用可以對應多個資料庫實例
-
垂直切分時代:將一個表按照欄位拆分,同一張表中的數據存放到不同表,甚至於不同資料庫中(因為此時一個表中的一個欄位的數據量已經很大)
-
讀寫分離時代:有的資料庫負責接收查詢命令,有的資料庫負責接收數據導入,數據修改等請求,將讀寫請求分離開,緩解資料庫壓力
-
分表分庫時代(集群):一個表中的數據分成多表或者多庫存儲,要查詢哪個階段的數據就去查詢對應階段的資料庫
-
關係型資料庫:oracle、mysql、DB2、sqlserver…
-
非關係型資料庫(NoSql): 徹底改變底層存儲機制。不再採用關係數據模型,而是採用聚合數據結構存儲數據。redis、mongoDB、HBase…
關係型與非關係型資料庫的表結構對比
-
關係型
tbl_student tbl_clazz id name age clazz_id id name 1001 zhangsan 20 111 111 clazz1 1002 lisi 21 111 222 clazz2
-
非關係型
{ id:1001, name:zhangsan, age:20, clazz:{ id:111, name:clazz1 } } { id:1002, name:lisi, age:21, clazz:{ id:111, name:clazz1 } }
非關係型資料庫的表結構特點
-
採用聚合模型存儲數據
把一組相關聯的數據作為一個整體進行存儲和管理。將BSON數據保存到鍵值對中、數據和數據之間逗號隔開,{}表示對象,[]表示數組。
-
關於BSON數據格式
其中BSON指:一種電腦數據交換格式,主要被用作MongoDB資料庫中的數據存儲和網路傳輸格式。它是一種二進位表示形式,能用來表示簡單數據結構、關聯數組(MongoDB中稱為「對象」或「文檔」)以及MongoDB中的各種數據類型。BSON之名緣於JSON,含義為Binary JSON(二進位JSON)
-
可採用K-V鍵值對、列簇、圖表模型等存儲數據。
Redis簡介
- Redis是一種資料庫。能夠存儲數據、管理數據的一種軟體。
- Redis是一個用C語言編寫的、開源的、基於記憶體運行並支援持久化的、高性能的NoSQL(not only sql)資料庫.也是當前熱門的NoSQL資料庫之一。
- Redis中的數據大部分時間都是存儲記憶體中的,適合存儲頻繁訪問、數據量比較小的數據,是一種快取資料庫
- Redis採用的是K-V模型存儲數據的。
Redis特點
1、支援數據持久化
Redis支援數據的持久化,可以將記憶體中的數據保持在磁碟中,重啟的時候可以再次載入進行使用。
2、支援多種數據結構
Redis不僅僅支援簡單的key-value類型的數據,同時還提供list,set,zset,hash等數據結構的存儲。
3、支援數據備份
Redis支援數據的備份,即master-slave模式的數據備份。
linux環境下配置Redis
-
官網://redis.io/download/ 下載redis的tar包
-
上傳到linux伺服器(筆者使用的是Centos7):這裡使用的是git工具上傳壓縮包,伺服器的ip地址被我塗去了
-
在linux伺服器端的對應目錄下解壓剛剛上傳的壓縮包
-
確保已經安裝了gcc,redis是c語言寫的,要手動編譯
yum -y install gcc
-
進入解壓好的目錄
cd ./redis-5.0.2
-
執行:make命令, 成功編譯結果如下,編譯過程會輸出較多內容,所用時間也許較長,請保持淡定
make
-
接著執行:make install命令
make install 該操作則將 src下的許多可執行文件複製到/usr/local/bin 目錄下(該目錄已經被默認配置到系統環境變數中),這樣做可以在任意目錄執行redis的軟體的命令(例如啟動,停止,客戶端連接伺服器等)
-
後台啟動redis,檢查配置是否成功,當啟動資訊輸出後,回車,便可以回到命令行,此時redis服務已經啟動並轉到後台運行
-
默認(redis服務啟動在默認IP地址以及默認埠)客戶端連接已經啟動的redis服務:redis-cli
-
退出客戶端連接:exit或者quit
-
關閉redis服務:redis-cli shutdown
啟動redis服務以及連接redis服務的方式總結
1、啟動redis服務:
1)前台啟動:在任何目錄下執行 redis-server(不推薦)
2)後台啟動:在任何目錄下執行 redis-server &
3)啟動redis服務時,指定配置文件:redis-server redis.conf &
2、關閉redis服務:
1)、通過kill命令(不推薦):
ps -ef|grep redis查看pid
kill -9 pid
2)、通過redis-cli命令關閉:
redis-cli shutdown
3、redis的客戶端:用來連接redis服務,向redis服務端發送命令,並且顯示redis服務處理結果。
redis-cli:是redis自帶客戶端,使用命令redis-cli就可以啟動redis的客戶端程式。
redis-cli:默認連接127.0.0.1(本機)的6379埠上的redis服務。
redis-cli -p 埠號:連接127.0.0.1(本機)的指定埠上的redis服務。
redis-cli -h ip地址 -p 埠:連接指定ip主機上的指定埠的redis服務。
4、退出客戶端:在客戶端執行命令:exit或者quit