Redis(一):初識(shí)Redis內(nèi)存數(shù)據(jù)庫(kù)與持久化-創(chuàng)新互聯(lián)

什么是Redis內(nèi)存數(shù)據(jù)庫(kù)?

堅(jiān)守“ 做人真誠(chéng) · 做事靠譜 · 口碑至上 · 高效敬業(yè) ”的價(jià)值觀,專(zhuān)業(yè)網(wǎng)站建設(shè)服務(wù)10余年為成都圍欄護(hù)欄小微創(chuàng)業(yè)公司專(zhuān)業(yè)提供成都企業(yè)網(wǎng)站定制營(yíng)銷(xiāo)網(wǎng)站建設(shè)商城網(wǎng)站建設(shè)手機(jī)網(wǎng)站建設(shè)小程序網(wǎng)站建設(shè)網(wǎng)站改版,從內(nèi)容策劃、視覺(jué)設(shè)計(jì)、底層架構(gòu)、網(wǎng)頁(yè)布局、功能開(kāi)發(fā)迭代于一體的高端網(wǎng)站建設(shè)服務(wù)。

Redis,本質(zhì)上上一個(gè)KEY-VALUE類(lèi)型的內(nèi)存數(shù)據(jù)庫(kù),整個(gè)數(shù)據(jù)庫(kù)都加載在內(nèi)存當(dāng)中進(jìn)行操作,定期通過(guò)異步操作把數(shù)據(jù)庫(kù)數(shù)據(jù)flush到硬盤(pán)上進(jìn)行保存。因此它是純內(nèi)存操作,Redis的性能非常出色,每秒可以處理超過(guò)10萬(wàn)次讀寫(xiě)操作。雖然是內(nèi)存數(shù)據(jù)庫(kù),但是其數(shù)據(jù)可以持久化,而且支持豐富的數(shù)據(jù)類(lèi)型。

Redis支持保存LIST列表和SET集合的數(shù)據(jù)結(jié)構(gòu),而且還支持對(duì)LIST進(jìn)行各種操作,例如從LIST兩端進(jìn)行PUSH和POP數(shù)據(jù),取LIST區(qū)間,排序等等。對(duì)SET支持各種集合的并集交集操作,單個(gè)value的大限制是1GB。

Redis主要的缺點(diǎn)是受到物理內(nèi)存限制,不能用作海量數(shù)據(jù)的高性能讀寫(xiě),而且它沒(méi)有原生的可擴(kuò)展機(jī)制,不具有擴(kuò)展能力,要依賴(lài)客戶(hù)端來(lái)實(shí)現(xiàn)分布式讀寫(xiě),因此其適合的應(yīng)用場(chǎng)景主要局限在較小數(shù)據(jù)量的高性能操作和運(yùn)算上。

最佳應(yīng)用場(chǎng)景:適用于數(shù)據(jù)變化快且數(shù)據(jù)庫(kù)大小可遇見(jiàn)(內(nèi)存大?。┑膽?yīng)用程序。

例如:股票軟件、數(shù)據(jù)分析、實(shí)時(shí)數(shù)據(jù)收集、實(shí)時(shí)通訊。

Redis屬于NoSQL范疇內(nèi),其含義為:Not only SQL,是不僅僅是SQL,是一項(xiàng)新的技術(shù),隨著WEB 2. 0的到來(lái)而得到廣泛應(yīng)用。理念是運(yùn)用非關(guān)系的數(shù)據(jù)存儲(chǔ)。

鍵值類(lèi)型的數(shù)據(jù)庫(kù)主要使用哈希表,這個(gè)表中有一個(gè)特定的鍵和一個(gè)指針指向特定數(shù)據(jù)。KEY/VALUE模型對(duì)于IT系統(tǒng)來(lái)說(shuō)的優(yōu)勢(shì)在于簡(jiǎn)單、容易部署。主要特點(diǎn)是具有極高的并發(fā)讀寫(xiě)性能。

什么是持久化?


Redis的所有數(shù)據(jù)都保存在內(nèi)存中,然后不定期的通過(guò)異步方式保存到磁盤(pán)上(這稱(chēng)為半持久化);也可以把每一次數(shù)據(jù)變化都寫(xiě)入到磁盤(pán)(這稱(chēng)為全持久化)。所謂持久化就是將內(nèi)存數(shù)據(jù)轉(zhuǎn)換為硬盤(pán)數(shù)據(jù),內(nèi)存模型到存儲(chǔ)模型的轉(zhuǎn)換,或者說(shuō)是瞬時(shí)狀態(tài)與持久狀態(tài)的相互轉(zhuǎn)換。

Redis有兩種持久化方式,默認(rèn)是snapshot方式,實(shí)現(xiàn)方法是定時(shí)將內(nèi)存的快照持久化到硬盤(pán),這種方式的缺點(diǎn)是持久化之后如果出現(xiàn)crash則會(huì)丟失一段數(shù)據(jù)。另外一種是aof方式,在寫(xiě)入內(nèi)存數(shù)據(jù)的同時(shí)將操作命令保存到日志文件中。

快照方式:

這種快照方式和虛擬機(jī)的快照一樣,保存某一時(shí)刻的完整數(shù)據(jù)。Redis在使用這種方式做持久化的時(shí)候,定期(默認(rèn)5分鐘)會(huì)先寫(xiě)入到一個(gè)臨時(shí)文件,寫(xiě)入完成后,會(huì)用這個(gè)文件去替換上次的舊的文件。這種方式的好處是,任何一次的快照文件都是完整可用的。但是缺點(diǎn)是,它每隔一段時(shí)間(默認(rèn)最快1分鐘,最慢15分鐘)做一次,所以會(huì)存在一段時(shí)間的數(shù)據(jù)丟失。

AOF方式:

這種方式就是把對(duì)Redis內(nèi)存數(shù)據(jù)的的寫(xiě)指令記錄下來(lái),這些指令會(huì)被記錄在AOF文件的末尾,然后每秒做一次fsync操作(默認(rèn)每秒一次),把指令在后臺(tái)在執(zhí)行一次執(zhí)行過(guò)程其實(shí)就是修改磁盤(pán)上的數(shù)據(jù)庫(kù)內(nèi)容。所以如果出現(xiàn)故障也只丟失1秒的數(shù)據(jù)。

上面這種方式就很類(lèi)似于傳統(tǒng)數(shù)據(jù)庫(kù)服務(wù)器的事務(wù)日志。

如果遇到在追加日志的時(shí)候遇到意外,可以使用redis-check-aof工具進(jìn)行日志修復(fù)。

因?yàn)椴捎昧俗芳臃绞?,所以AOF會(huì)越來(lái)越大(這一點(diǎn)又和傳統(tǒng)數(shù)據(jù)庫(kù)不一樣,傳統(tǒng)數(shù)據(jù)庫(kù)事務(wù)日志文件都比較?。虼藃edis有另外一個(gè)機(jī)制就是AOF文件重寫(xiě),當(dāng)AOF文件達(dá)到一個(gè)設(shè)定的閾值后,會(huì)自動(dòng)啟動(dòng)AOF文件壓縮,只保留可以恢復(fù)數(shù)據(jù)的最小指令集。

通過(guò)上面的對(duì)AOF的描述,可以看到AOF是一個(gè)面向過(guò)程的,而RDB是面向?qū)ο蟮摹?/p>

AOF方式的有點(diǎn):

  • 丟失數(shù)據(jù)最小

AOF方式的缺點(diǎn):

  • 同等數(shù)據(jù)量,AOF文件比RDB文件體積大

  • AOF恢復(fù)速度比RDB方式慢

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿(mǎn)足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。

當(dāng)前標(biāo)題:Redis(一):初識(shí)Redis內(nèi)存數(shù)據(jù)庫(kù)與持久化-創(chuàng)新互聯(lián)
新聞來(lái)源:http://muchs.cn/article8/ejeip.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站網(wǎng)站導(dǎo)航、域名注冊(cè)企業(yè)網(wǎng)站制作、品牌網(wǎng)站制作、商城網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)