一、设计技巧
1: 把表名转换为key前缀 如, tag:2:
2:第2段放置用于区分区key的字段--对应mysql中的主键的列名,如userid
3:第3段放置主键值,如2,3,4...., a , b ,c4:
4:第4段,写要存储的列名
例如:将用户表user, 转换为redis的key-value存储
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也是极频繁查询的,往往这种列也是加了索引的. 转换到k-v数据中,则也要相应的生成一条按照该列为主的
set user:username:lisi:uid 9
这样,我们可以根据username:lisi:uid ,查出userid=9, 再查user:9:password/email ...
备注:只要按照某个字段来查询,都要做一个key是这个字段,然后value值是存id的key
set user:username:lisi:uid 9 #根据name来查询
set user:email:xht@qq.com:uid 9 #根据email来查询