一、NoSQL
什麼是NoSQL,NoSQL不應該叫做No SQL,它指的是Not Only SQL,是全新的數據庫理念,泛指非關係型數據庫。
1、爲什麼需要NoSQL
高併發讀寫,在Web2.0網站需要根據用戶信息實時生成動態頁面提供動態信息,所以數據庫的併發負載就非常高。而關係型數據庫在應付上萬次的讀寫時就顯得力不從心了。
海量數據的高效率存儲和訪問
高可擴展性和高可用性
2、NoSQL數據庫的四大分類
鍵值存儲,優勢:快速查詢;劣勢:存儲數據缺少結構化
列存儲,優勢:快速查詢,擴展性較強;劣勢:功能相對侷限
文檔數據庫,優勢:數據結構要求不是很嚴格;劣勢:查詢性能不是特別高,缺少統一的查詢語法
圖形數據庫,優勢:利用圖結構相關算法;劣勢:需要對整個圖做計算才能得出結果
二、Redis
Redis是一個使用C編寫的開源、高性能鍵值對存儲數據庫。它通過提供多種鍵值數據類型來應對不同場景下的存儲需求。
1、支持的鍵值數據類型
字符串類型、列表類型、有序集合類型、散列類型、集合類型
2、應用場景
緩存、任務隊列、網站訪問統計、數據國企處理、分佈式集羣架構中的session分離
3、安裝
在Linux操作系統下安裝,安裝包地址:http://download.redis.io/releases/
tar -zxvf redis-3.0.7.tar.gz 解壓安裝包
cd redis-3.0.7 進入安裝包所在路徑
make 使用gcc編譯
make PREFIX=/usr/local/redis install 安裝,使用PREFIX指定安裝路徑
安裝後bin目錄下所有的可執行文件爲:
redis-benchmark性能測試工具
redis-check-aof文件修復工具
redis-check-dump文件檢查工具
redis-cli 命令行的客戶端
redis-server服務器啓動命令
4、簡單使用
./redis-server 使用該命令啓動redis,但是默認是前端啓動,無法進行其他操作,所以使用Ctrl+C強制退出。
回到make編譯後的頁面找到redis-conf文件,拷貝到redis安裝路徑下,和bin同級目錄,修改其中的daemonize no爲daemonize yes保存退出
./redis-server ../redis.conf使用該命令重新啓動redis,可以發現並沒有反應
ps -ef | grep -i redis查看系統正在運行的進程發現redis已經啓動了
./redis-cli shutdown使用客戶端關閉服務端
./redis-cli 啓動客戶端進行簡單實用