溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

Redis數(shù)據(jù)庫(kù)的簡(jiǎn)單介紹

發(fā)布時(shí)間:2020-11-21 10:35:44 來(lái)源:億速云 閱讀:203 作者:小新 欄目:關(guān)系型數(shù)據(jù)庫(kù)

這篇文章給大家分享的是有關(guān)Redis數(shù)據(jù)庫(kù)的簡(jiǎn)單介紹的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧。

1.Redis數(shù)據(jù)庫(kù)介紹

redis數(shù)據(jù)庫(kù)是一種基于內(nèi)存可持久化的鍵值對(duì)非關(guān)系性數(shù)據(jù)庫(kù)。為了保證效率,redis的數(shù)據(jù)都是緩存在內(nèi)存中的,區(qū)別的是redis會(huì)周期性的把更新的數(shù)據(jù)寫(xiě)入磁盤(pán)或者把修改操作寫(xiě)入追加的記錄文件,并且在此基礎(chǔ)上實(shí)現(xiàn)了master-slave(主從)同步。

Redis支持主從同步。數(shù)據(jù)可以從主服務(wù)器向任意數(shù)量的從服務(wù)器上同步,從服務(wù)器可以是關(guān)聯(lián)其他從服務(wù)器的主服務(wù)器。這使得Redis可執(zhí)行單層樹(shù)復(fù)制。存盤(pán)可以有意無(wú)意的對(duì)數(shù)據(jù)進(jìn)行寫(xiě)操作。由于完全實(shí)現(xiàn)了發(fā)布/訂閱機(jī)制,使得從數(shù)據(jù)庫(kù)在任何地方同步樹(shù)時(shí),可訂閱一個(gè)頻道并接收主服務(wù)器完整的消息發(fā)布記錄。同步對(duì)讀取操作的可擴(kuò)展性和數(shù)據(jù)冗余很有幫助。

Redis是基于內(nèi)存管理的數(shù)據(jù)庫(kù),所以?xún)?nèi)存開(kāi)銷(xiāo)方面需要進(jìn)一步優(yōu)化:

①.首先最重要的一點(diǎn)是不要開(kāi)啟Redis的VM選項(xiàng),即虛擬內(nèi)存功能,這個(gè)本來(lái)是作為Redis存儲(chǔ)超出物理內(nèi)存數(shù)據(jù)的一種數(shù)據(jù)在內(nèi)存與磁盤(pán)換入換出的一個(gè)持久化策略,但是其內(nèi)存管理成本也非常的高,并且我們后續(xù)會(huì)分析此種持久化策略并不成熟,所以要關(guān)閉VM功能,請(qǐng)檢查你的redis.conf文件中 vm-enabled 為 no。

②.其次最好設(shè)置下redis.conf中的maxmemory選項(xiàng),該選項(xiàng)是告訴Redis當(dāng)使用了多少物理內(nèi)存后就開(kāi)始拒絕后續(xù)的寫(xiě)入請(qǐng)求,該參數(shù)能很好的保護(hù)好你的Redis不會(huì)因?yàn)槭褂昧诉^(guò)多的物理內(nèi)存而導(dǎo)致swap,最終嚴(yán)重影響性能甚至崩潰。

③.如果在Redis內(nèi)部存儲(chǔ)的大部分?jǐn)?shù)據(jù)是數(shù)值型的話(huà),Redis內(nèi)部采用了一個(gè)shared integer的方式來(lái)省去分配內(nèi)存的開(kāi)銷(xiāo),即在系統(tǒng)啟動(dòng)時(shí)先分配一個(gè)從1~n 那么多個(gè)數(shù)值對(duì)象放在一個(gè)池子中,如果存儲(chǔ)的數(shù)據(jù)恰好是這個(gè)數(shù)值范圍內(nèi)的數(shù)據(jù),則直接從池子里取出該對(duì)象,并且通過(guò)引用計(jì)數(shù)的方式來(lái)共享,這樣在系統(tǒng)存儲(chǔ)了大量數(shù)值下,也能一定程度上節(jié)省內(nèi)存并且提高性能

2.redis數(shù)據(jù)存儲(chǔ)位置

我們知道redis是基于內(nèi)存存儲(chǔ)數(shù)據(jù)的,那么數(shù)據(jù)在掉電后會(huì)造成數(shù)據(jù)丟失,我們可以亦通過(guò)配置生成相關(guān)的日志文檔以及將數(shù)據(jù)在磁盤(pán)進(jìn)行備份。這樣下次開(kāi)機(jī)是可以保證數(shù)據(jù)仍然可以拿到。

3.redis數(shù)據(jù)庫(kù)常用數(shù)據(jù)類(lèi)型已經(jīng)相關(guān)操作

過(guò)期時(shí)間設(shè)置常用操作:

EXPIRE 將key的生存時(shí)間設(shè)置為ttl秒

PEXPIRE 將key的生成時(shí)間設(shè)置為ttl毫秒

EXPIREAT 將key的過(guò)期時(shí)間設(shè)置為timestamp所代表的的秒數(shù)的時(shí)間戳

PEXPIREAT 將key的過(guò)期時(shí)間設(shè)置為timestamp所代表的的毫秒數(shù)的時(shí)間戳

感謝各位的閱讀!關(guān)于Redis數(shù)據(jù)庫(kù)的簡(jiǎn)單介紹就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI