东京热精品人妻av|91久久在线国产一区二区视频|欧美韩国黄片一区二区|伊人蜜桃久久色婷婷成人在线|成人黄色三级激情视频|一级特黄视频97人妻在线|av在线亚洲播放|髙清无码一区二区在线观看|婷婷激情色情小说|香蕉久久99亚洲人久久

幫助中心>Mysql和Redis之間的選擇

Mysql和Redis之間的選擇

0 1251
發(fā)布于:2021-03-09 16:27:41

關(guān)系型數(shù)據(jù)庫Mysql是基于關(guān)系表的數(shù)據(jù)庫,數(shù)據(jù)會將數(shù)據(jù)持久化到磁盤上,而非關(guān)系型數(shù)據(jù)庫Redis是基于特殊的結(jié)構(gòu),并將數(shù)據(jù)存儲到內(nèi)存的數(shù)據(jù)庫。單單從性能上看,Redis數(shù)據(jù)庫要優(yōu)于關(guān)系型數(shù)據(jù)庫Mysql,從數(shù)據(jù)安全性上看,關(guān)系型數(shù)據(jù)庫要優(yōu)于Redis數(shù)據(jù)庫,所以在實際開發(fā)中一個項目中Redis和關(guān)系型數(shù)據(jù)庫會一起使用,達到性能和安全性的雙保證。

Mysql數(shù)據(jù)庫

類型:關(guān)系型數(shù)據(jù)庫

持久化方式:無論數(shù)據(jù)還是索引都存放在硬盤中。到要使用的時候才交換到內(nèi)存中。能夠處理遠超過內(nèi)存總量的數(shù)據(jù)。

效率:MySQL存放在硬盤,在速度上肯定沒有Redis快,但是存放的數(shù)據(jù)量要多的多功能與應(yīng)用:

功能強大,傳統(tǒng)的關(guān)系型數(shù)據(jù)庫,應(yīng)用非常廣泛,基本可以滿足所有存儲數(shù)據(jù)的需求,滿足所有應(yīng)用程序等,例如論壇,個人博客,門戶咨詢等web網(wǎng)站以及OA等其他應(yīng)用。

優(yōu)勢:

  1. 它使用的核心線程是完全多線程,支持多處理器。

  2. 有多種列類型:1、2、3、4、和8字節(jié)長度自有符號/無符號整數(shù)、FLOAT、DOUBLE、CHAR、VARCHAR、TEXT、BLOB、DATE、TIME、DATETIME、 TIMESTAMP、YEAR、和ENUM類型。

  3. 它通過一個高度優(yōu)化的類庫實現(xiàn)SQL函數(shù)庫并像他們能達到的一樣快速,通常在查詢初始化后不該有任何內(nèi)存分配。沒有內(nèi)存漏洞。

  4. 全面支持SQL的GROUP BY和ORDER BY子句,支持聚合函數(shù)(COUNT()、COUNT(DISTINCT)、AVG()、STD()、SUM()、MAX()和MIN())。你可以在同一查詢中混來自不同數(shù)據(jù)庫的表。

  5. 支持ANSI SQL的LEFT 0UTER JOIN和ODBC。

  6. 所有列都有缺省值。你可以用INSERT插入一個表列的子集,那些沒用明確給定值的列設(shè)置為他們的決省值。

  7. MySQL可以工作在不同的平臺上。支持C、C++、Java、Perl、PHP、Python和TCL API。

Redis數(shù)據(jù)庫

類型:非關(guān)系型數(shù)據(jù)庫

持久化方式:redis所有數(shù)據(jù)都是放在內(nèi)存中的,持久化是使用RDB方式或者aof方式

效率:Redis的數(shù)據(jù)存放在內(nèi)存,所以速度快但是會受到內(nèi)存空間限制

功能與應(yīng)用:Redis是一個K-V數(shù)據(jù)庫,同時還支持List/Hash/Set/Sorted Set等幾個簡單數(shù)據(jù)結(jié)構(gòu),它沒有二維表的概念,不能做非常復(fù)雜的邏輯查詢,所以只能以這些數(shù)據(jù)結(jié)構(gòu)為基礎(chǔ)實現(xiàn)功能,通常用來輔助關(guān)系型數(shù)據(jù)庫(如mysql)使網(wǎng)站更快速。因此它只能滿足一些特定應(yīng)用場景。例如 :緩存,計數(shù)器,排行榜,活動促銷,投票排序等

優(yōu)勢:

Redis是一個開源的使用ANSI C語言編寫、遵守BSD協(xié)議、支持網(wǎng)絡(luò)、可基于內(nèi)存亦可持久化的日志型、Key-Value,并提供多種語言的API。

Redis 與其他 key - value 緩存產(chǎn)品有以下特點:

  • Redis支持數(shù)據(jù)的持久化,可以將內(nèi)存中的數(shù)據(jù)保持在磁盤中,重啟的時候可以再次加載進行使用。

  • Redis不僅僅支持簡單的key-value類型的數(shù)據(jù),同時還提供list,set,zset,hash等數(shù)據(jù)結(jié)構(gòu)的存儲。

  • Redis支持數(shù)據(jù)的備份,即master-slave模式的數(shù)據(jù)備份。

  • 性能極高 – Redis能讀的速度是110000次/s,寫的速度是81000次/s 。

  • 豐富的數(shù)據(jù)類型 – Redis支持二進制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 數(shù)據(jù)類型操作。

  • 原子 – Redis的所有操作都是原子性的,同時Redis還支持對幾個操作全并后的原子性執(zhí)行。

  • 豐富的特性 – Redis還支持 publish/subscribe, 通知, key 過期等等特性。

  • Redis運行在內(nèi)存中但是可以持久化到磁盤,所以在對不同數(shù)據(jù)集進行高速讀寫時需要權(quán)衡內(nèi)存,應(yīng)為數(shù)據(jù)量不能大于硬件內(nèi)存。在內(nèi)存數(shù)據(jù)庫方面的另一個優(yōu)點是,相比在磁盤上相同的復(fù)雜的數(shù)據(jù)結(jié)構(gòu),在內(nèi)存中操作起來非常簡單,這樣Redis可以做很多內(nèi)部復(fù)雜性很強的事情。同時,在磁盤格式方面他們是緊湊的以追加的方式產(chǎn)生的,因為他們并不需要進行隨機訪問。   

總結(jié):

建站時,應(yīng)首先選擇關(guān)系型數(shù)據(jù)庫(如mysql)做為基礎(chǔ)數(shù)據(jù)庫,如果想讓網(wǎng)站更快速,再選擇Redis來配合

使用。一般Redis不單獨作為建站需要,通常用來配合關(guān)系型數(shù)據(jù)庫(mysql)來滿足特定需求。

Redis與mysql數(shù)據(jù)同步:

讀:讀redis->如沒有,讀mysql->把mysql數(shù)據(jù)寫回redis

寫:寫mysql->成功,寫redis

掃碼贊賞,鼓勵支持

還沒有人贊賞,快來當(dāng)?shù)谝粋€贊賞的人吧!
    強勢安利

    多個網(wǎng)站可以共用一個數(shù)據(jù)庫么?

    2021-03-09 11:39:00

    強勢安利

    騰訊云Redis數(shù)據(jù)庫應(yīng)用場景

    2021-03-11 09:01:12


    關(guān)鍵詞: 騰訊云服務(wù)器
    提交成功,系統(tǒng)已安排等保測評顧問稍后為您服務(wù)
    微信咨詢 獲取代理價(更低折扣)
    更低報價 更低折扣 代金券申請
    咨詢熱線:15060091191
    操作成功
    操作失敗
    申請優(yōu)惠
    立即申請優(yōu)惠