Redis為什么要分16個(gè)庫(kù)

在實(shí)際的項(xiàng)目中揪垄,Redis常被用作緩存、分布式鎖奉芦、消息隊(duì)列等的解決方案憾儒。但是在搭建好Redis服務(wù)后钉寝,Redis默認(rèn)創(chuàng)建了16個(gè)數(shù)據(jù)庫(kù)(db0~db15),而在Redis集群下只有一個(gè)db0數(shù)據(jù)庫(kù)。如下圖所示。

redis單機(jī)

??
redis集群

一售淡、16個(gè)數(shù)據(jù)庫(kù)的由來

Redis是一個(gè)類似于字典結(jié)構(gòu)的存儲(chǔ)服務(wù)器,一個(gè)Redis實(shí)例提供了多個(gè)用來存儲(chǔ)數(shù)據(jù)的字典慷垮,在客戶端可以指定將數(shù)據(jù)存儲(chǔ)于哪個(gè)字典中揖闸。這與在一個(gè)關(guān)系數(shù)據(jù)庫(kù)實(shí)例中創(chuàng)建多個(gè)數(shù)據(jù)庫(kù)類似,所以料身,可以將Redis中的每個(gè)字典都理解為一個(gè)獨(dú)立的數(shù)據(jù)庫(kù)汤纸。

在這里插入圖片描述

??我們講過Redis默認(rèn)支持16個(gè)數(shù)據(jù)庫(kù),這可以通過修改Redis的配置文件/redis/redis.conf中的databases字段的值芹血,設(shè)置完畢并重啟Redis即可完成配置贮泞。

img

??此外,客戶端與Redis建立連接之后祟牲,默認(rèn)會(huì)選擇0號(hào)數(shù)據(jù)庫(kù)即db0,但可以使用select命令更換存儲(chǔ)的數(shù)據(jù)庫(kù)抖部。

更換db

也可以通過修改配置文件的方式選擇默認(rèn)數(shù)據(jù)庫(kù)说贝。

配置文件

二、正解Redis數(shù)據(jù)庫(kù)概念

可以看到慎颗,Redis的數(shù)據(jù)庫(kù)都以db+編號(hào)的方式命名乡恕,這是因?yàn)镽edis不支持自定義數(shù)據(jù)庫(kù)名。開發(fā)者則需要自己記錄存儲(chǔ)的數(shù)據(jù)與數(shù)據(jù)庫(kù)之間的對(duì)應(yīng)關(guān)系俯萎。此外傲宜,Redis不支持為每個(gè)數(shù)據(jù)庫(kù)設(shè)置不同的訪問密碼,即客戶端要么可以訪問全部的數(shù)據(jù)庫(kù)夫啊,要么所有的數(shù)據(jù)庫(kù)都不能被訪問函卒。

Redis中存在這么一個(gè)命令flushall,該命令可以清空當(dāng)前Redis實(shí)例下所有數(shù)據(jù)庫(kù)的數(shù)據(jù)撇眯。這與類似于mysql的關(guān)系型數(shù)據(jù)庫(kù)不同报嵌,關(guān)系型數(shù)據(jù)庫(kù)的每個(gè)數(shù)據(jù)庫(kù)常用于存儲(chǔ)不同應(yīng)用程序的數(shù)據(jù)虱咧,且不提供清除當(dāng)前實(shí)例下所有數(shù)據(jù)庫(kù)數(shù)據(jù)的方法。

因此锚国,對(duì)于Redis來說腕巡,用命名空間的方式理解Redis提供的db0~db15數(shù)據(jù)庫(kù)會(huì)更合適,且一個(gè)Redis實(shí)例不適合存儲(chǔ)多個(gè)應(yīng)用程序的數(shù)據(jù)血筑。比如绘沉,我們可以這么做:使用db0數(shù)據(jù)庫(kù)存儲(chǔ)應(yīng)用程序在生產(chǎn)環(huán)境的數(shù)據(jù),用db1數(shù)據(jù)庫(kù)存儲(chǔ)測(cè)試環(huán)境的數(shù)據(jù)豺总。但是车伞,不適合用db0數(shù)據(jù)庫(kù)存儲(chǔ)應(yīng)用程序A的數(shù)據(jù),用db1存儲(chǔ)應(yīng)用程序B的數(shù)據(jù)园欣。****不同的應(yīng)用程序應(yīng)使用不同的Redis實(shí)例帖世。此外,我們不必?fù)?dān)心使用過多的Redis實(shí)例造成數(shù)據(jù)庫(kù)服務(wù)壓力過大沸枯,因?yàn)镽edis是非常輕量級(jí)的日矫,一個(gè)空的Redis實(shí)例占用的內(nèi)存只有1MB左右。

三绑榴、集群環(huán)境下的Redis實(shí)例

在單體Redis的情況下可以使用select命令來實(shí)現(xiàn)數(shù)據(jù)庫(kù)的切換哪轿,但在集群環(huán)境下,Redis不支持使用select命令來切換數(shù)據(jù)庫(kù)翔怎,這是因?yàn)樵诩涵h(huán)境下只有一個(gè)db0數(shù)據(jù)庫(kù)窃诉。集群與單體Redis的區(qū)別如下:

1、key批量操作支持有限:例如mget赤套、mset必須在一個(gè)slot飘痛;
2、Key事務(wù)和Lua支持有限:操作的key必須在一個(gè)節(jié)點(diǎn)容握;
3宣脉、key是數(shù)據(jù)分區(qū)的最小粒度:不支持bigkey分區(qū);
4剔氏、不支持多個(gè)數(shù)據(jù)庫(kù):集群模式下只有一個(gè)db0塑猖;
5、復(fù)制只支持一層:不支持樹形復(fù)制結(jié)構(gòu)谈跛。
12345

四羊苟、總結(jié)

  • Redis實(shí)例默認(rèn)創(chuàng)建了16個(gè)數(shù)據(jù)庫(kù),且不支持自定義命名感憾,以dbX的方式命名(db0~db15)蜡励;
  • 默認(rèn)數(shù)據(jù)庫(kù)的數(shù)量可以在配置文件中修改;
  • 應(yīng)以命名空間的方式理解Redis數(shù)據(jù)庫(kù)db,多個(gè)應(yīng)用程序不應(yīng)使用同一個(gè)Redis的不同庫(kù)巍虫,而應(yīng)一個(gè)應(yīng)用程序?qū)?yīng)一個(gè)Redis實(shí)例彭则,不同的數(shù)據(jù)庫(kù)可用于存儲(chǔ)不同環(huán)境的數(shù)據(jù)。
  • Redis集群下只有db0占遥,不支持多db俯抖。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市瓦胎,隨后出現(xiàn)的幾起案子芬萍,更是在濱河造成了極大的恐慌,老刑警劉巖搔啊,帶你破解...
    沈念sama閱讀 211,042評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件柬祠,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡负芋,警方通過查閱死者的電腦和手機(jī)漫蛔,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來旧蛾,“玉大人莽龟,你說我怎么就攤上這事∠翘欤” “怎么了毯盈?”我有些...
    開封第一講書人閱讀 156,674評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)病袄。 經(jīng)常有香客問我搂赋,道長(zhǎng),這世上最難降的妖魔是什么益缠? 我笑而不...
    開封第一講書人閱讀 56,340評(píng)論 1 283
  • 正文 為了忘掉前任脑奠,我火速辦了婚禮,結(jié)果婚禮上幅慌,老公的妹妹穿的比我還像新娘宋欺。我一直安慰自己,他們只是感情好欠痴,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,404評(píng)論 5 384
  • 文/花漫 我一把揭開白布迄靠。 她就那樣靜靜地躺著秒咨,像睡著了一般喇辽。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上雨席,一...
    開封第一講書人閱讀 49,749評(píng)論 1 289
  • 那天菩咨,我揣著相機(jī)與錄音,去河邊找鬼。 笑死抽米,一個(gè)胖子當(dāng)著我的面吹牛特占,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播云茸,決...
    沈念sama閱讀 38,902評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼是目,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了标捺?” 一聲冷哼從身側(cè)響起懊纳,我...
    開封第一講書人閱讀 37,662評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎亡容,沒想到半個(gè)月后嗤疯,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,110評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡闺兢,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評(píng)論 2 325
  • 正文 我和宋清朗相戀三年茂缚,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片屋谭。...
    茶點(diǎn)故事閱讀 38,577評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡脚囊,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出戴而,到底是詐尸還是另有隱情凑术,我是刑警寧澤,帶...
    沈念sama閱讀 34,258評(píng)論 4 328
  • 正文 年R本政府宣布所意,位于F島的核電站淮逊,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏扶踊。R本人自食惡果不足惜泄鹏,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,848評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望秧耗。 院中可真熱鬧备籽,春花似錦、人聲如沸分井。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,726評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)尺锚。三九已至珠闰,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間瘫辩,已是汗流浹背伏嗜。 一陣腳步聲響...
    開封第一講書人閱讀 31,952評(píng)論 1 264
  • 我被黑心中介騙來泰國(guó)打工坛悉, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人承绸。 一個(gè)月前我還...
    沈念sama閱讀 46,271評(píng)論 2 360
  • 正文 我出身青樓裸影,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親军熏。 傳聞我的和親對(duì)象是個(gè)殘疾皇子轩猩,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,452評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • 1 redis概述 1.1 什么是redis ??Redis的全稱是REmote Dictionary Serve...
    一把君子劍閱讀 422評(píng)論 0 0
  • 前言 在 Redis 3.0 之前,使用 哨兵(sentinel)機(jī)制來監(jiān)控各個(gè)節(jié)點(diǎn)之間的狀態(tài)荡澎。Redis Clu...
    零壹技術(shù)棧閱讀 1,141評(píng)論 0 7
  • 久違的晴天界轩,家長(zhǎng)會(huì)。 家長(zhǎng)大會(huì)開好到教室時(shí)衔瓮,離放學(xué)已經(jīng)沒多少時(shí)間了浊猾。班主任說已經(jīng)安排了三個(gè)家長(zhǎng)分享經(jīng)驗(yàn)。 放學(xué)鈴聲...
    飄雪兒5閱讀 7,513評(píng)論 16 22
  • 今天感恩節(jié)哎热鞍,感謝一直在我身邊的親朋好友葫慎。感恩相遇!感恩不離不棄薇宠。 中午開了第一次的黨會(huì)偷办,身份的轉(zhuǎn)變要...
    迷月閃星情閱讀 10,556評(píng)論 0 11
  • 可愛進(jìn)取,孤獨(dú)成精澄港。努力飛翔椒涯,天堂翱翔。戰(zhàn)爭(zhēng)美好回梧,孤獨(dú)進(jìn)取废岂。膽大飛翔,成就輝煌狱意。努力進(jìn)取湖苞,遙望,和諧家園详囤〔乒牵可愛游走...
    趙原野閱讀 2,720評(píng)論 1 1