Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

关于数据库的设计 #1

Open
yeehya opened this issue May 25, 2015 · 1 comment
Open

关于数据库的设计 #1

yeehya opened this issue May 25, 2015 · 1 comment

Comments

@yeehya
Copy link

yeehya commented May 25, 2015

最近在尝试使用skynet。参考你的some-mmorpg的实现,有不少收获。good jobs~
有些redis数据库方面的疑问,请教下,在保存char_list等数据时,你都转换成了json的数据进行保存。这样做的意义在哪里?为了效率还是空间?
为何不是直接用hash、set、list等redis数据结构来存储这些数据。
如: account对应的角色列表:设计成一个list或set字段呢?
而角色的基本信息,则可以设计成一个hash,分布存储他的name,class,race等信息?

@jintiao
Copy link
Owner

jintiao commented May 25, 2015

首先说一句,我是redis新手,我对redis的理解主要来源于官方文档。在some-mmorpg中的数据结构设计,主要是基于下面这两篇文档:
http://redis.io/topics/memory-optimization
http://redis.io/topics/partitioning

那么,回答第一个问题,这样设计的意义在于节省内存。官方给的数据,优化前后的内存使用值是11 MB :1.7 MB,相当惊人。
后面的问题就简单了,因为不能。使用内存优化的储存方法后,必须要把一个table打包后才能储存进去,所以我将table转成了一个json字符串。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants