"
问:
"
超级简单。
Nosql数据库设计师,50%的工作就是给主键起个名,这话一点都不错,彻底从烦人的设计字段名称中解脱出来。
1、统一表名。关系型数据库中的表名经常会用到下划线分割,用作hash键的时候显得不够简洁,比如一张表叫tm_user,转换成hash键的时候就叫user就可以了。
2、统一主键。要求所有表中的自增主键完全一致,“完全”包括名称和数据类型,比如user这张表,主键就叫id,而不能是user_id。
3、设计主键。还是以上面的user举例,user一般称为hash键,而这张的id称为范围键(range key),主键按照"hash:range"的形势构造,key="user:1"表示存放的是mysql中user这张表的id为1的用户行数据。假设你的Nosql需要对应mysql多库,将库名也放进hashkey中,比如"crm:user:1"这样
4、设计value格式。这里推荐用json格式。Nosql中数据类型和关系型数据库不一样,没有那么多复杂的类型。key永远是string类型,而value的类型分两种:
基础类型:string和number类型;
保留字:true、false、null
具体可以参考json的数据规范ecma-404文档。
5、举例,假设你的user表只要两个字段,id和name,最后格式就是这样:
"user:1"="{"id":1,"name":"红薯"}"
######如何存储数据,我有一篇博文,可以看看,如何维护关系,可以深入了解redis的几种存储类型的典型应用, http://my.oschina.net/yuyidi/blog/499951版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。