您好,登錄后才能下訂單哦!
Redis key 設計技巧
1: 把表名轉換為key前綴 如, tag:
2: 第2段放置用于區分區key的字段--對應mysql中的主鍵的列名,如userid
3: 第3段放置主鍵值,如2,3,4...., a , b ,c
4: 第4段,寫要存儲的列名
用戶表 user , 轉換為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到一個服務器)
然而,如何用用戶名來查詢?是這樣?
所以,最好的辦法是:冗余設計:
Set user:username:lisi:uid 9
(根據user:username:lisi:uid找到9,然后再根據9找到其他信息)
2 注意:
在關系型數據中,除主鍵外,還有可能其他列也步驟查詢,
如上表中, username 也是極頻繁查詢的,往往這種列也是加了索引的.
轉換到k-v數據中,則也要相應的生成一條按照該列為主的key-value
Set user:username:lisi:uid 9
這樣,我們可以根據username:lisi:uid ,查出userid=9,
再查user:9:password/email ...
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。