Redis 分區(qū)溺欧,多數(shù)據(jù)庫實(shí)現(xiàn)

Redis 分區(qū)

分區(qū)是分割數(shù)據(jù)到多個Redis實(shí)例的處理過程喊熟,因此每個實(shí)例只保存key的一個子集。

分區(qū)的優(yōu)勢

  • 通過利用多臺計(jì)算機(jī)內(nèi)存的和值胧奔,允許我們構(gòu)造更大的數(shù)據(jù)庫逊移。
  • 通過多核和多臺計(jì)算機(jī),允許我們擴(kuò)展計(jì)算能力龙填;通過多臺計(jì)算機(jī)和網(wǎng)絡(luò)適配器胳泉,允許我們擴(kuò)展網(wǎng)絡(luò)帶寬。

分區(qū)的不足

redis的一些特性在分區(qū)方面表現(xiàn)的不是很好:

  • 涉及多個key的操作通常是不被支持的岩遗。舉例來說扇商,當(dāng)兩個set映射到不同的redis實(shí)例上時,你就不能對這兩個set執(zhí)行交集操作宿礁。
  • 涉及多個key的redis事務(wù)不能使用案铺。
  • 當(dāng)使用分區(qū)時,數(shù)據(jù)處理較為復(fù)雜梆靖,比如你需要處理多個rdb/aof文件控汉,并且從多個實(shí)例和主機(jī)備份持久化文件。
  • 增加或刪除容量也比較復(fù)雜返吻。redis集群大多數(shù)支持在運(yùn)行時增加姑子、刪除節(jié)點(diǎn)的透明數(shù)據(jù)平衡的能力,但是類似于客戶端分區(qū)测僵、代理等其他系統(tǒng)則不支持這項(xiàng)特性街佑。然而,一種叫做presharding的技術(shù)對此是有幫助的捍靠。

分區(qū)類型

Redis 有兩種類型分區(qū)沐旨。 假設(shè)有4個Redis實(shí)例 R0,R1榨婆,R2磁携,R3,和類似user:1良风,user:2這樣的表示用戶的多個key颜武,對既定的key有多種不同方式來選擇這個key存放在哪個實(shí)例中。也就是說拖吼,有不同的系統(tǒng)來映射某個key到某個Redis服務(wù)。

范圍分區(qū)

最簡單的分區(qū)方式是按范圍分區(qū)这吻,就是映射一定范圍的對象到特定的Redis實(shí)例吊档。
比如,ID從0到10000的用戶會保存到實(shí)例R0唾糯,ID從10001到 20000的用戶會保存到R1怠硼,以此類推鬼贱。
這種方式是可行的,并且在實(shí)際中使用香璃,不足就是要有一個區(qū)間范圍到實(shí)例的映射表这难。這個表要被管理,同時還需要各 種對象的映射表葡秒,通常對Redis來說并非是好的方法姻乓。

哈希分區(qū)

另外一種分區(qū)方法是hash分區(qū)。這對任何key都適用眯牧,也無需是object_name:這種形式蹋岩,像下面描述的一樣簡單:

  • 用一個hash函數(shù)將key轉(zhuǎn)換為一個數(shù)字,比如使用crc32 hash函數(shù)学少。對key foobar執(zhí)行crc32(foobar)會輸出類似93024922的整數(shù)剪个。
  • 對這個整數(shù)取模,將其轉(zhuǎn)化為0-3之間的數(shù)字版确,就可以將這個整數(shù)映射到4個Redis實(shí)例中的一個了扣囊。93024922 % 4 = 2,就是說key foobar應(yīng)該被存到R2實(shí)例中绒疗。注意:取模操作是取除的余數(shù)侵歇,通常在多種編程語言中用%操作符實(shí)現(xiàn)。

多數(shù)據(jù)庫實(shí)現(xiàn)

那么忌堂,redis有沒有什么方法使不同的應(yīng)用程序數(shù)據(jù)彼此分開同時又存儲在相同的實(shí)例上呢盒至?就相當(dāng)于mysql數(shù)據(jù)庫,不同的應(yīng)用程序數(shù)據(jù)存儲在不同的數(shù)據(jù)庫下士修。
redis下枷遂,數(shù)據(jù)庫是由一個整數(shù)索引標(biāo)識,而不是由一個數(shù)據(jù)庫名稱棋嘲。默認(rèn)情況下酒唉,一個客戶端連接到數(shù)據(jù)庫0。redis配置文件中下面的參數(shù)來控制數(shù)據(jù)庫總數(shù):

databases 16

可以通過下面的命令來切換到不同的數(shù)據(jù)庫下

redis> select 2 
OK

隨后沸移,所有的命令將使用數(shù)據(jù)庫3痪伦,知道你明確的切換到另一個數(shù)據(jù)庫下。
每個數(shù)據(jù)庫都有屬于自己的空間雹锣,不必?fù)?dān)心之間的key沖突网沾。

不同的數(shù)據(jù)庫下,相同的key取到各自的值蕊爵。


flushdb命令清除數(shù)據(jù)辉哥,只會清除當(dāng)前的數(shù)據(jù)庫下的數(shù)據(jù),不會影響到其他數(shù)據(jù)庫。


flushall命令會清除這個實(shí)例的數(shù)據(jù)醋旦。在執(zhí)行這個命令前要格外小心恒水。

數(shù)據(jù)庫的數(shù)量是可以配置的,默認(rèn)情況下是16個饲齐。修改redis.conf下的databases指令:

databases 64

redis沒有提供任何方法來關(guān)聯(lián)標(biāo)識不同的數(shù)據(jù)庫钉凌。
因此,需要你來跟蹤什么數(shù)據(jù)存儲到哪個數(shù)據(jù)庫下捂人。
因此上面的快開啟200個實(shí)例的場景御雕,可以使用不同的數(shù)據(jù)庫來存儲,而不必開啟如此那么多的實(shí)例先慷。


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末饮笛,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子论熙,更是在濱河造成了極大的恐慌福青,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,042評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件脓诡,死亡現(xiàn)場離奇詭異无午,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)祝谚,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評論 2 384
  • 文/潘曉璐 我一進(jìn)店門宪迟,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人交惯,你說我怎么就攤上這事次泽。” “怎么了席爽?”我有些...
    開封第一講書人閱讀 156,674評論 0 345
  • 文/不壞的土叔 我叫張陵意荤,是天一觀的道長。 經(jīng)常有香客問我只锻,道長玖像,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,340評論 1 283
  • 正文 為了忘掉前任齐饮,我火速辦了婚禮捐寥,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘祖驱。我一直安慰自己握恳,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,404評論 5 384
  • 文/花漫 我一把揭開白布捺僻。 她就那樣靜靜地躺著乡洼,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上就珠,一...
    開封第一講書人閱讀 49,749評論 1 289
  • 那天,我揣著相機(jī)與錄音醒颖,去河邊找鬼妻怎。 笑死,一個胖子當(dāng)著我的面吹牛泞歉,可吹牛的內(nèi)容都是我干的逼侦。 我是一名探鬼主播,決...
    沈念sama閱讀 38,902評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼腰耙,長吁一口氣:“原來是場噩夢啊……” “哼榛丢!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起挺庞,我...
    開封第一講書人閱讀 37,662評論 0 266
  • 序言:老撾萬榮一對情侶失蹤晰赞,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后选侨,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體掖鱼,經(jīng)...
    沈念sama閱讀 44,110評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年援制,在試婚紗的時候發(fā)現(xiàn)自己被綠了戏挡。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,577評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡晨仑,死狀恐怖褐墅,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情洪己,我是刑警寧澤妥凳,帶...
    沈念sama閱讀 34,258評論 4 328
  • 正文 年R本政府宣布,位于F島的核電站码泛,受9級特大地震影響猾封,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜噪珊,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,848評論 3 312
  • 文/蒙蒙 一晌缘、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧痢站,春花似錦磷箕、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,726評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春空繁,著一層夾襖步出監(jiān)牢的瞬間殿衰,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,952評論 1 264
  • 我被黑心中介騙來泰國打工盛泡, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留闷祥,地道東北人。 一個月前我還...
    沈念sama閱讀 46,271評論 2 360
  • 正文 我出身青樓傲诵,卻偏偏與公主長得像凯砍,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子拴竹,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,452評論 2 348

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