您好,登錄后才能下訂單哦!
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 | |
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ù)器)
然而,如何用用戶名來查詢?是這樣?
所以,最好的辦法是:冗余設(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 ...
免責(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)容。