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