网游服务器csv配置设计
(金庆的专栏 2017.2)
巨人网络Lua手游服务器中csv配置系统的设计
配置文件为 csv 格式。
csv文件全部放置于 csv/ 目录。
csv/可以有子目录。
csv目录下所有csv文件可以热更新。
策划数据也会导出到csv.
csv编码为utf8带BOM。
如果不带BOM,excel打开中文显示乱码。
xlsx批量转为utf8的csv
要求csv解析器允许多行字段,允许双引号,忽略BOM。
csv解析采用:https://github.com/jinq0123/csv_parser_RFC4180
csv按以下规范建立:
第1行:字段说明,可以多行,可以中文,仅供注释用。
说明放第1行的好处是:多行说明不影响下面的数据显示,征途的csv也是说明在先。
第2行:字段名,英文,区分大小写,尽量不用特殊字符。
同一表内各字段名必须不同。
建议全部小写,用下划线连接单词,如"server_type", "equip_id".
第3行:类型,有3种:string, int, float, 缺省为string, 无法识别也按string处理。
int, float数据缺省值0, 解析有错时也按0处理。
所有csv加载后,通过以下接口查询
* 获取表格 get_table("test/test.csv") -> csv/test/test.csv
* 取全部记录 table.get_all_records()
* 按索引取记录(可能多个)
+ 取第1个 table.get_record("field1", val1, "field2", val2)
+ 取多个 table.get_records("field1", val1, "field2", val2)
* 按列名取字段
+ record.get_string("field3")
+ record.get_int("field3")
+ record.get_float("field3")
* 自动索引,首次查询建立索引
* 索引可以是多列组合
网游服务器csv配置设计
原创wx648abf25141f7 博主文章分类:网游开发 ©著作权
文章标签 字段 d3 数据 文章分类 JavaScript 前端开发
上一篇:Vs调用luacheck静态检查
-
网游服务器应分离实时功能
网游服务器应分离实时功能
服务器 数据 UDP -
redis数据库属于nosql数据库吗
1. 缓存的收益和成本 缓存的收益: 1)加速读写:缓存通常都是全内存的,通过缓存的使用可以有效地加速读写,优化用户体验。 2)降低后端负载:帮助后端减少访问量,降低了后端的负载。 缓存成本: 1)数据不一致性:缓存层和存储层的数据存在着一定时间窗口的不一致性,时间窗口
redis数据库属于nosql数据库吗 redis redis缓存设计 缓存 数据