欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

Redis內(nèi)存數(shù)據(jù)庫(kù)分片的示例分析

這篇文章將為大家詳細(xì)講解有關(guān)redis內(nèi)存數(shù)據(jù)庫(kù)分片的示例分析,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。

我們提供的服務(wù)有:網(wǎng)站設(shè)計(jì)、做網(wǎng)站、微信公眾號(hào)開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、淮濱ssl等。為千余家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的淮濱網(wǎng)站制作公司

軟件下載地址

·       允許用多臺(tái)機(jī)器的內(nèi)存存放更大的數(shù)據(jù)集。如果沒有分片,那么你只能存放單臺(tái)機(jī)器內(nèi)存的最大值的數(shù)據(jù)集。

·       允許用多核和多臺(tái)機(jī)器提高計(jì)算能力和網(wǎng)絡(luò)帶寬。

常見的分片方式:

1、按照范圍分片

2、哈希分片,例如一致性哈希

常見的分片的實(shí)現(xiàn):

①客戶端分片

②在代理中做分片,比如:twemproxy

③查詢路由:就是發(fā)送查詢到一個(gè)隨機(jī)實(shí)例,這個(gè)實(shí)例會(huì)保證轉(zhuǎn)發(fā)你的查詢到正確的節(jié)點(diǎn),redis集群在客戶端的幫助下,實(shí)現(xiàn)了查詢路由的一種混合形式,請(qǐng)求不是直接從redis實(shí)例轉(zhuǎn)發(fā)到另一個(gè)實(shí)例,而是客戶端收到重定向到正確的節(jié)點(diǎn)

④在服務(wù)端進(jìn)行分片,Redis采用哈希槽(hash slot)的方式在服務(wù)器端進(jìn)行分片:

Redis集群有16384個(gè)哈希槽,使用健CrC16對(duì)16384取模來計(jì)算一個(gè)鍵所屬的哈希槽

分片的缺點(diǎn)

Redis 的一些特性與分片在一起時(shí)玩轉(zhuǎn)的不是很好:

1、涉及多個(gè)鍵的操作通常不支持。例如,你不能對(duì)映射在兩個(gè)不同 Redis 實(shí)例上的鍵執(zhí)行交集(事實(shí)上有辦法做到,但不是直接這么干)。

2、涉及多個(gè)鍵的事務(wù)不能使用。

3、分片的粒度(granularity)是鍵,所以不能使用一個(gè)很大的鍵來分片數(shù)據(jù)集,例如一個(gè)很大的有序集合。

4、當(dāng)使用了分片,數(shù)據(jù)處理變得更復(fù)雜,例如,你需要處理多個(gè) RDB/AOF 文件,備份數(shù)據(jù)時(shí)你需要聚合多個(gè)實(shí)例和主機(jī)的持久化文件。

5、添加和刪除容量也很復(fù)雜。例如,Redis 集群具有運(yùn)行時(shí)動(dòng)態(tài)添加和刪除節(jié)點(diǎn)的能力來支持透明地再均衡數(shù)據(jù),但是其他方式,像客戶端分片和代理都不支持這個(gè)特性。但是,有一種稱為預(yù)分片(Presharding)的技術(shù)在這一點(diǎn)上能幫上忙。

Redis分片的缺點(diǎn)

1、不支持涉及多建的操作,如mget,如果所操作的健都在同一個(gè)節(jié)點(diǎn),就正常執(zhí)行,否則會(huì)提示報(bào)錯(cuò)

2、分片的粒度是健,因此每個(gè)鍵對(duì)應(yīng)的值不要太大

3、數(shù)據(jù)備份會(huì)比較麻煩,備份數(shù)據(jù)時(shí)你需要聚合多個(gè)實(shí)例和主機(jī)的持久化文件

4、擴(kuò)容的處理比較麻煩

5、故障的恢復(fù)的處理會(huì)比較麻煩,可能需要重新梳理Master和Slave的關(guān)系,并調(diào)整每個(gè)復(fù)制集里面的數(shù)據(jù)

Redis的預(yù)分片技術(shù)

Redis的預(yù)分片技術(shù)可以按照以下步驟進(jìn)行實(shí)例遷移操作:

 (1)在新機(jī)子上啟動(dòng)新的redis實(shí)例;

 (2)將新redis實(shí)例作為slave將原redis實(shí)例作為master,將數(shù)據(jù)從原redis實(shí)例遷移到新redis實(shí)例上;

 (3)停止客戶端(分片操作在客戶端上時(shí))或代理服務(wù)器(分片操作在代理上)

(4)更新客戶端或者代理服務(wù)器中的配置信息,去掉被遷移的原redis實(shí)例的ip和端口等信息,加上新啟動(dòng)redis實(shí)例的IP地址和端口;

(5)向新啟動(dòng)的redis發(fā)送SLAVEOF NOONE命令,終止新redis實(shí)例對(duì)原redis實(shí)例的從屬關(guān)系;

(6)重啟客戶端程序或者代理程序,此時(shí)它們將會(huì)使用新的redis實(shí)例;

 (7)關(guān)掉被遷移走數(shù)據(jù)的原redis實(shí)例;

預(yù)分片

我們已經(jīng)知道分片存在的一個(gè)問題,除非我們使用 Redis 作為緩存,增加和刪除節(jié)點(diǎn)是一件很棘手的事情,使用固定的鍵和實(shí)例映射要簡(jiǎn)單得多。

然而,數(shù)據(jù)存儲(chǔ)的需求可能一直在變化。今天我可以接受 10 個(gè) Redis 節(jié)點(diǎn)(實(shí)例),但是明天我可能就需要 50 個(gè)節(jié)點(diǎn)。

因?yàn)?Redis 只有相當(dāng)少的內(nèi)存占用(footprint)而且輕量級(jí)(一個(gè)空閑的實(shí)例只是用 1MB 內(nèi)存),一個(gè)簡(jiǎn)單的解決辦法是一開始就開啟很多的實(shí)例。即使你一開始只有一臺(tái)服務(wù)器,你也可以在第一天就決定生活在分布式的世界里,使用分片來運(yùn)行多個(gè) Redis 實(shí)例在一臺(tái)服務(wù)器上。

你一開始就可以選擇很多數(shù)量的實(shí)例。例如,32 或者 64 個(gè)實(shí)例能滿足大多數(shù)的用戶,并且為未來的增長(zhǎng)提供足夠的空間。

這樣,當(dāng)你的數(shù)據(jù)存儲(chǔ)需要增長(zhǎng),你需要更多的 Redis 服務(wù)器,你要做的就是簡(jiǎn)單地將實(shí)例從一臺(tái)服務(wù)器移動(dòng)到另外一臺(tái)。當(dāng)你新添加了第一臺(tái)服務(wù)器,你就需要把一半的 Redis 實(shí)例從第一臺(tái)服務(wù)器搬到第二臺(tái),如此等等。

使用 Redis 復(fù)制,你就可以在很小或者根本不需要停機(jī)時(shí)間內(nèi)完成移動(dòng)數(shù)據(jù):

·       在你的新服務(wù)器上啟動(dòng)一個(gè)空實(shí)例。

·       移動(dòng)數(shù)據(jù),配置新實(shí)例為源實(shí)例的從服務(wù)。

·       停止你的客戶端。

·       更新被移動(dòng)實(shí)例的服務(wù)器 IP 地址配置。

·       向新服務(wù)器上的從節(jié)點(diǎn)發(fā)送 SLAVEOF NO ONE 命令。

·       以新的更新配置啟動(dòng)你的客戶端。

·       最后關(guān)閉掉舊服務(wù)器上不再使用的實(shí)例。

Redis集群

由于數(shù)據(jù)量過大,單個(gè)復(fù)制集難以承擔(dān),因此需要對(duì)多個(gè)復(fù)制集進(jìn)行集群,形成水平擴(kuò)展,每個(gè)復(fù)制集只負(fù)責(zé)存儲(chǔ)數(shù)據(jù)集的一部分,這就是Redis的集群

1、在以前版本中,Redis的集群是依靠客戶端分片來完成,但是這樣會(huì)有很多缺點(diǎn),比如維護(hù)成本高,需要客戶端編碼解決;增加、移除節(jié)點(diǎn)都比較繁瑣等

2、Redis3.0新增的一大特性就是支持集群,在不降低性能的情況下,還提供了網(wǎng)絡(luò)分區(qū)的可訪問性和支持對(duì)主數(shù)據(jù)庫(kù)故障的恢復(fù)。

3、使用集群后,都只能使用默認(rèn)的0號(hào)數(shù)據(jù)庫(kù)

4、每個(gè)redis集群節(jié)點(diǎn)需要兩個(gè)TCP連接打開,正常的TCP端口用來服務(wù)客戶端,例如6379,家10000的端口用作數(shù)據(jù)端口,必須保證防火墻打開這兩個(gè)端口

5、Redis集群不保證強(qiáng)一致性,這意味著在特定的條件下,Redis集群可能會(huì)丟掉一些被系統(tǒng)收到的寫入請(qǐng)求命令(Master傳播命令返回OK后掛掉,slave還沒有收到廣播)

集群的架構(gòu)

1、所有的Redis節(jié)點(diǎn)彼此互聯(lián),內(nèi)部使用二進(jìn)制協(xié)議優(yōu)化傳輸速度和寬帶

2、節(jié)點(diǎn)的fail是通過集群中超過半數(shù)的節(jié)點(diǎn)檢測(cè)失效時(shí)才生效

3、客戶端與redis節(jié)點(diǎn)直連,不需要中間的proxy層??蛻舳瞬恍枰B接集群所有節(jié)點(diǎn),連接集群中任何一個(gè)可用節(jié)點(diǎn)即可

4、集群把所有的物理節(jié)點(diǎn)映射到【0-16383】插槽上,集群負(fù)責(zé)維護(hù):節(jié)點(diǎn)—插槽—值 的關(guān)系

集群操作的基本命令

CLUSTER INFO

CLUSTER NODES

CLUSTER MEET  

CLUSTER FORGET

CLUSTER REPLICATE

CLUSTER SAVECONFIG

CLUSTER ADDSLOTS

CLUSTER DELSLOTS

CLUSTER FLUSHSLOTS

CLUSTER SETSLOT  NODE

CLUSTER SETSLOT  MIGRATING

CLUSTER SETSLOT  IMPORTING

CLUSTER SETSLOT  STABLE

CLUSTER KEYSLOT

CLUSTER COUNTKEYSINSLOT

CLUSTER GETKEYSINSLOT

MIGRATE 目的節(jié)點(diǎn)目的節(jié)點(diǎn)鍵名 數(shù)據(jù)庫(kù)號(hào)碼 超時(shí)時(shí)間 [copy] [replace]

關(guān)于Redis內(nèi)存數(shù)據(jù)庫(kù)分片的示例分析就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

網(wǎng)頁題目:Redis內(nèi)存數(shù)據(jù)庫(kù)分片的示例分析
文章地址:http://chinadenli.net/article48/gpccep.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、靜態(tài)網(wǎng)站、自適應(yīng)網(wǎng)站、小程序開發(fā)、軟件開發(fā)、品牌網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(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í)需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)
激情五月天免费在线观看| 大伊香蕉一区二区三区| 亚洲午夜精品视频观看| 国产一级性生活录像片| a久久天堂国产毛片精品| 91人妻人人揉人人澡人| 欧美日韩精品综合在线| 欧美成人高清在线播放| 中文字幕日韩欧美理伦片| 日韩国产传媒在线精品| 日韩性生活片免费观看| 精品国产亚洲免费91| 麻豆欧美精品国产综合久久| 欧美日韩精品久久亚洲区熟妇人| 成人午夜爽爽爽免费视频| 中文字幕一区二区三区中文| 日韩美女偷拍视频久久| 国产在线小视频你懂的| 日韩欧美国产高清在线| 高清一区二区三区四区五区| 中文字幕一区二区熟女| 国产欧洲亚洲日产一区二区| 国产中文字幕一二三区| 亚洲国产婷婷六月丁香| 欧美日韩国产亚洲三级理论片 | 一区二区免费视频中文乱码国产| 日韩国产中文在线视频| 粗暴蹂躏中文一区二区三区| 欧美野外在线刺激在线观看| 国产又色又爽又黄的精品视频| 91精品视频全国免费| 美女激情免费在线观看| 女同伦理国产精品久久久| 欧美在线视频一区观看| 国产精品免费精品一区二区| 日韩精品一区二区毛片| 亚洲一区二区三在线播放| 欧美在线视频一区观看| 欧美日韩亚洲综合国产人| 欧美日韩在线第一页日韩| 国产精品伦一区二区三区四季|