閱讀85 返回首頁    go 阿裏雲 go 技術社區[雲棲]


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 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*

如果另一個列也常常被用來查找,比如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

  上一篇:go Redis開發運維實踐開發設計規範之數據異常處理
  下一篇:go Redis開發運維實踐專題功能之發布訂閱