Redis開發運維實踐開發設計規範之key設計
4.1 Key設計
key的一個格式約定:object-type:id:field
。用":"分隔域,用"."作為單詞間的連接,如"comment:12345:reply.to
"。不推薦含義不清的key和特別長的key。
一般的設計方法如下: 1: 把表名轉換為key前綴 如, tag: 2: 第2段放置用於區分區key的字段--對應mysql中的主鍵的列名,如userid 3: 第3段放置主鍵值,如2,3,4...., a , b ,c 4: 第4段,寫要存儲的列名
例如用戶表 user, 轉換為key-value存儲:
userid | username | password | |
---|---|---|---|
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*
如果另一個列也常常被用來查找,比如username,則也要相應的生成一條按照該列為主的key-value,例如:
user:username:lisi:uid 9
此時相當於RDBMS中在username上加索引,我們可以根據 username:lisi:uid
,查出userid=9,再查user:9:password/email
...
Redis開發運維實踐指南
本文為《Redis開發運維實踐指南》內容,該書作者為黃鵬程,已授權雲棲社區轉載。
最後更新:2017-05-08 10:01:37