溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Redis key 設(shè)計技巧

發(fā)布時間:2020-04-06 14:18:14 來源:網(wǎng)絡(luò) 閱讀:1335 作者:梁十八 欄目:關(guān)系型數(shù)據(jù)庫

Redis key 設(shè)計技巧

 

1: 把表名轉(zhuǎn)換為key前綴 如, tag:

2: 2段放置用于區(qū)分區(qū)key的字段--對應(yīng)mysql中的主鍵的列名,userid

3: 3段放置主鍵值,2,3,4...., a , b ,c

4: 4,寫要存儲的列名

 

用戶表 user  , 轉(zhuǎn)換為key-value存儲

userid

username

passworde

email

9

Lisi

1111111

lisi@163.com

 

set  user:userid:9:username lisi

set  user:userid:9:password 111111

set  user:userid:9:email   lisi@163.com

 

keys user:userid:9*

 

(分布式的時候可以同時hash到一個服務(wù)器

 

然而,如何用用戶名來查詢?是這樣?

Redis key 設(shè)計技巧

所以,最好的辦法是:冗余設(shè)計:

Set  user:username:lisi:uid  9

(根據(jù)user:username:lisi:uid找到9,然后再根據(jù)9找到其他信息)

 

2 注意:

在關(guān)系型數(shù)據(jù)中,除主鍵外,還有可能其他列也步驟查詢,

如上表中, username 也是極頻繁查詢的,往往這種列也是加了索引的.

 

轉(zhuǎn)換到k-v數(shù)據(jù)中,則也要相應(yīng)的生成一條按照該列為主的key-value

Set  user:username:lisi:uid  9  

 

這樣,我們可以根據(jù)username:lisi:uid ,查出userid=9,

再查user:9:password/email ...


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI