之前游戏开发服务端都是用纯c++来写,现在很多写游戏服务器越来越倾向脚本语言,因为用c++来写一些逻辑的确是痛苦之极,当然如果追求效率的还是用c/c++实现更好。
最近时间自己通过研究了解云风写的skynet框架学习了lua,研究skynet其实是想把这框架用到公司现在游戏项目里替换掉现在用的一个纯c++框架,今天看完了里面的登录模块,用到用户数据,所以想简单把数据库设计一下,之前用的是ttserver,现在改用redis来替代,参考了云风一篇博客《开发笔记 (2) :redis 数据库结构设计》,初步设计也算是照搬吧(之后慢慢改进,记录下模板,以后给自己参考)。
玩家账号信息(key-value,Key以分号分割组成,空格后是value值):(中括号里的为主键值)
account:count id (作为玩家id号的递增)
account:[id]:password password (string类型,密码)
account:[id]:nickname nickname (string类型,昵称)
account:email:[email] id (string 玩家id)
account:[id]:email email (string类型,email)
account:[id]:roles set(id) (set类型,玩家帐号下的角色id集合)
玩家角色信息
role:count id (作为玩家角色id号的递增)
role:[id]:data hash(info) (hash类型,玩家数据)
*name string
*gold number
......
......
以上简单结构,以后待补充吧。