日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
Redis部分Key的遷移實(shí)現(xiàn)(redis遷移部分key)

Redis(Remote Dictionary Server)是一個(gè)開源的高性能、可基于內(nèi)存亦可持久化的鍵值(KEY-Value)存儲(chǔ)數(shù)據(jù)庫(kù),常用于數(shù)據(jù)庫(kù)、緩存和消息中間件。有時(shí)候我們需要將Redis中的部分Key將遷移到其他Redis服務(wù)器,這時(shí)就需要對(duì)Key進(jìn)行遷移,那么實(shí)現(xiàn)Redis部分key遷移要怎么做呢?

我們需要確定要遷移的Key,我下面以遷移以“userInfo”開始的Key為例:

KEYS userInfo:*

我們可以借助redis的DUMP和RESTORE命令,將要遷移的Key序列化存儲(chǔ),通過(guò)MIGRATE方式將其遷移到其他服務(wù)器,實(shí)現(xiàn)key的部分遷移。

MIGRATE host port key destination-db timeout [COPY] [REPLACE]

比如,我們可使用 keys命令遍歷出所有userInfo開頭的Key,然后使用foreach控制循環(huán),這樣我們就可以將多個(gè)key部分遷移到目標(biāo)Redis服務(wù)器:

#!/bin/bash
#定義一個(gè)變量來(lái)存放目標(biāo)服務(wù)器的地址
remote_host="127.0.0.1"
#定義一個(gè)變量來(lái)存放目標(biāo)服務(wù)器的端口
remote_port=6379
keys=`redis-cli KEYS userInfo:*`
for key in $keys
do
#將key部分遷移到目標(biāo)服務(wù)器
redis-cli MIGRATE $remote_host $remote_port $key 0 0 REPLACE
done

我們也可以使用Redis中的命令CLUSTER SETSLOT可以實(shí)現(xiàn)更加簡(jiǎn)單、高效的部分Key遷移:

CLUSTER SETSLOT  MIGRATING 
CLUSTER GETKEYSINSLOT

以上命令可以將節(jié)點(diǎn)中某個(gè)slot設(shè)置為遷移中,然后通過(guò)GETKEYSINSLOT將該slot中數(shù)據(jù)遷移到指定節(jié)點(diǎn)。優(yōu)點(diǎn)是,它可以實(shí)現(xiàn)細(xì)粒度的key遷移,只需要遷移部分slot中的key就可以完成,大大減少了遷移所需的時(shí)間。

由以上可見,Redis中的部分key的遷移實(shí)現(xiàn)起來(lái)還是很方便的,可以使用Redis自帶的命令方式遷移,也可以通過(guò)代碼實(shí)現(xiàn)。無(wú)論使用哪種方式,使用遷移可以大大提高上述Redis數(shù)據(jù)遷移時(shí)間,對(duì)企業(yè)級(jí)應(yīng)用來(lái)說(shuō)有質(zhì)的提升。

成都創(chuàng)新互聯(lián)建站主營(yíng):成都網(wǎng)站建設(shè)、網(wǎng)站維護(hù)、網(wǎng)站改版的網(wǎng)站建設(shè)公司,提供成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、成都網(wǎng)站推廣、成都網(wǎng)站優(yōu)化seo、響應(yīng)式移動(dòng)網(wǎng)站開發(fā)制作等網(wǎng)站服務(wù)。


文章題目:Redis部分Key的遷移實(shí)現(xiàn)(redis遷移部分key)
本文網(wǎng)址:http://m.5511xx.com/article/cdjhsdi.html