- 把表名轉換為key前綴, 比如: tag:
- 第二段放置用於區分key的字段--對應mysql中的主鍵的列名
- 第三段放置主鍵值
- 第三段寫列名
用戶表user, 轉換為redis的key-value存儲
userid | username | password | |
9 | Lisi | 111111 | lisi@163.com |
比如:
127.0.0.1:6379> set user:userid:9:username lisi
OK
127.0.0.1:6379> set user:userid:9:password 111111
OK
127.0.0.1:6379> set user:userid:9:email lisi@163.com
OK
127.0.0.1:6379>
127.0.0.1:6379> keys user:userid:9* #查找有幾個屬性
1) "user:userid:9:password"
2) "user:userid:9:username"
3) "user:userid:9:email"
127.0.0.1:6379>
注意: 實際中經常要通過username來查找信息, 只能通過再建立一個對應關系
127.0.0.1:6379> set user:username:lisi:userid 9 #建立一個username和userid對應的表
OK
127.0.0.1:6379>
127.0.0.1:6379> get user:username:lisi:userid #獲取到userid
"9"
127.0.0.1:6379>
127.0.0.1:6379> keys user:userid:9* #通過userid找到所有鍵
1) "user:userid:9:password"
2) "user:userid:9:username"
3) "user:userid:9:email"
127.0.0.1:6379>
127.0.0.1:6379> get user:userid:9:email #獲取其它鍵的信息
"lisi@163.com"
127.0.0.1:6379>
如果要通過email查詢, 只能再維護
127.0.0.1:6379> set user:email:lisi@163.com:userid 9
OK
127.0.0.1:6379> get user:email:lisi@163.com:userid
"9"
127.0.0.1:6379> keys user:userid:9*
1) "user:userid:9:username"
2) "user:userid:9:email"
3) "user:userid:9:password"
127.0.0.1:6379>