新聞中心
Redis是一種開源高性能key-value內(nèi)存數(shù)據(jù)庫系統(tǒng),可以用作緩存、消息中間件等,多個應用可同時利用Redis在路由規(guī)則上實現(xiàn)一定細粒度。

成都創(chuàng)新互聯(lián)公司是一家專業(yè)提供內(nèi)蒙古企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)、成都h5網(wǎng)站建設(shè)、小程序制作等業(yè)務。10年已為內(nèi)蒙古眾多企業(yè)、政府機構(gòu)等服務。創(chuàng)新互聯(lián)專業(yè)的建站公司優(yōu)惠進行中。
Redis路由技術(shù)可以幫助開發(fā)者構(gòu)建基于分布式系統(tǒng)中其他節(jié)點之間同樣可行的路由策略。
下面進入實戰(zhàn),先聲明一下name-space:com.demo
要實現(xiàn)細粒度路由Key解決方案,首先需要構(gòu)建一個Redis實例:
// 創(chuàng)建一個新的Redis實例
const redisClient = redis.createClient();
接著,我們定義一個Key模板,用于支持細粒度路由解決方案,比如我們可以定義以下模板:
// key 模板,用于支持細粒度路由解決方案
const ROUTING_TEMPLATE = `${nameSpace}:${appId}:${type}:${resourceId}`;
// 使用模板要把功能細分,例如:
const ROUTING_KEY_1 = `${nameSpace}:user:read:3245`; // 代表讀取用戶id=3245這條記錄
const ROUTING_KEY_2 = `${nameSpace}:user:update:3245`; // 代表更新用戶id=3245這條記錄
上面的模板可以用來定義資源的細粒度路由規(guī)則,比如使用第一個key來查找用戶id=3245的記錄,使用第二個key來更新用戶id=3245的記錄。
// 通過redis實例讀取某個記錄
redisClient.get(ROUTING_KEY_1, (ERR, result) => {
if(err) return console.error(err);
console.log(result);
});
// 通過redis實例更新某個記錄
redisClient.set(ROUTING_KEY_2, "xxxxx", (err, result) => {
if(err) return console.error(err);
console.log("updated successfully.");
});
上面代碼分別可用來查找和更新記錄,只需要改變key來實現(xiàn)細粒度路由。
細粒度路由Key解決方案,可以使用Redis的key-value特性,將資源的crud操作都歸為一個Key模板,對資源的不同操作通過改變key值來實現(xiàn),這樣既可實現(xiàn)細粒度路由,又簡化了實現(xiàn)過程,方便維護。
香港服務器選創(chuàng)新互聯(lián),2H2G首月10元開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務提供商,擁有超過10年的服務器租用、服務器托管、云服務器、虛擬主機、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗。專業(yè)提供云主機、虛擬主機、域名注冊、VPS主機、云服務器、香港云服務器、免備案服務器等。
文章標題:Redis實現(xiàn)細粒度路由Key解決方案(redis路由key)
文章出自:http://m.fisionsoft.com.cn/article/cdgppgh.html


咨詢
建站咨詢
