NoSQL:
沒有sql語句,非關係型數據庫,主流的緩存數據庫
關係型數據庫:對海量數據、高併發、高可用等支持存在一定壓力
NoSQL數據庫的分類
鍵值(key-value)存儲數據庫
相關產品: Tokyo Cabinet/Tyrant̵,Redis̵,Voldemort̵,Berkeley DB
典型應用:內容緩存,主要用於處理大量數據的高訪問負載
數據類型:一系列鍵值對
優勢:快速查詢
劣勢:存儲的數據缺少結構化列存儲數據庫
相關產品:Cassandra, HBase, Riak
典型應用:分佈式的文件系統
數據模型:以列簇式存儲,將同一列數據存在一起
優勢:查找速度快,可擴展性強,更容易進行分佈式擴展
劣勢:功能相對侷限文檔型數據庫
相關產品:CouchDB̵,MongoDB
典型應用:Web應用(與Key-Value類似,Value是結構化的)
數據模型:一系列鍵值對
優勢:數據結構要求不嚴格
劣勢:查詢性能不高,而且缺乏統一的查詢語法圖形(Graph)數據庫
相關產品:Neo4J̵InfoGrid̵Infinite Graph
典型應用:社交網絡
數據模型:圖結構
優勢:利用圖結構相關算法
劣勢:需要對整個圖做計算才能得出結果,不容易做分佈式的集羣方案
Redis
主流的K-V鍵值對數據庫
相較於其他的K-V數據庫:1、持久化,支持兩種RDB/AOP;2、數據類型繁多,除了常規K-V,還支持List/set等
Redis的數據類型:String、List、Set、zSet、Hash
優點:1、高併發讀寫效率高;2、海量數據的查詢效率高;3、擴展性和高可用;4、水平擴展或垂直擴展方便
缺點:複雜的關係數據描述並不是特別好
Redis安裝:
- 下載Redis
解壓
tar -zxf redis-4.0.1.tar.gz
編譯
yum -y install gcc automake autoconf libtool make 安裝c編譯器
在解壓目錄內 make
make PREFIX=/opt/java/redis6379 install
從解壓目錄中拷貝一份配置文件到新安裝的目錄的bin下 cp redis.conf /opt/java/redis6379/bin/redis.conf
啓動
在Redis安裝目錄下的bin文件夾內部使用命令
/opt/java/redis6379/bin/redis-server /opt/java/redis6379/bin/redis.conf
修改配置文件
默認是前臺啓動,導致命令行無法繼續,需要修改爲後臺啓動 vim /opt/java/redis6379/bin/redis.conf
修改:1、將bind 127.0.0.1 註釋掉 #bind127.0.0.1 表示其它機器也可也訪問;2、將daemonize no 設置爲 daemonize yes保存並退出
重新啓動
使用自帶連接工具 安裝目錄下的bin文件夾內的redis-cli
/opt/java/redis6379/bin/redis-cli