該文使用centos6.5 64位 redis-3.2.8
NSQL:Not Only SQL 以key-value 形式存儲和傳統(tǒng)的關系型數(shù)據(jù)庫不一樣,不一定遵循傳統(tǒng)數(shù)據(jù)庫的一些基本要求,比如說遵循SQL標準、ACID屬性、表結構等,這類數(shù)據(jù)庫主要具有以下特點:非關系型的、分布式的、開源的、水平可擴展的。
名稱解釋:
1、key-value :js中的對象,json數(shù)據(jù)格式、java中的map,java中的javabean
2、SQL標準:insert、delete、update、select 等標準的SQL語句
3、ACID屬性:事務 ,redis中也存在事務,但很簡單。
4、表結構:通過已經(jīng)建立的表向表中添加數(shù)據(jù),redis可以在表不存在的情況下直接添加數(shù)據(jù)
NSQL 特點:
1、處理超大量數(shù)據(jù)能力強
2、可以運行在便宜的PC服務器集群上
4、對數(shù)據(jù)的高并發(fā)讀寫能力強(mysql在上萬數(shù)據(jù)的寫入對磁盤IO消耗很大)
5、對海量數(shù)據(jù)的高效存儲和訪問。
6、對數(shù)據(jù)的高可靠擴展性和高可用性
一、redis簡介
Redis是一個開源的,先進的key-value存儲。它通常被稱為數(shù)據(jù)結構服務器,因為鍵可以包含字符串、哈希、鏈表、集合和有序集合。
支持的數(shù)據(jù)類型:string(字符串)、list(集合)、set(集合)、zset(有序集合)。
支持的操作:這些數(shù)據(jù)類型支持push/pop、add/remove 等豐富的數(shù)據(jù)操作。支持不同方式的排序。
緩存:redis為了保證效率數(shù)據(jù)都是緩存在內存中的,為了防止系統(tǒng)突然崩潰從而導致內存中的數(shù)據(jù)丟失,它也可以周期性的把更新的數(shù)據(jù)寫入磁盤或者把修改操作寫入追加的記錄文件。
redis用戶:新浪微博是redis最大的用戶,200多臺物理機。
redis在新浪微博中的使用場景:
1、應用程序直接訪問redis數(shù)據(jù)庫
該方式與傳統(tǒng)應用程序訪問mysql類似,但該方式不安全。