redis key 設(shè)計(jì)技巧
在達(dá)孜等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)、外貿(mào)營銷網(wǎng)站建設(shè) 網(wǎng)站設(shè)計(jì)制作按需規(guī)劃網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計(jì),營銷型網(wǎng)站建設(shè),外貿(mào)網(wǎng)站制作,達(dá)孜網(wǎng)站建設(shè)費(fèi)用合理。
1: 把表名轉(zhuǎn)換為key前綴 如, tag:
2: 第2段放置用于區(qū)分區(qū)key的字段--對應(yīng)MySQL中的主鍵的列名,如userid
3: 第3段放置主鍵值,如2,3,4...., a , b ,c
4: 第4段,寫要存儲(chǔ)的列名
用戶表 user ,轉(zhuǎn)換為key-value存儲(chǔ) | |||
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*
(分布式的時(shí)候可以同時(shí)hash到一個(gè)服務(wù)器)
然而,如何用用戶名來查詢?是這樣?
所以,最好的辦法是:冗余設(shè)計(jì):
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 ...