webgame开发中配置存储的介绍「建议收藏」

webgame开发中配置存储的介绍「建议收藏」webgame世界的基础数值都是事先配置好的,在运行的时候可以随时读取,是属于非常重要和必不可少的部分,而且数据量也不少。这样的数据在开发中的存储也就变得重要了,需要保证效率、性能、安全等,一般的做法有使用xml文本文件保存、静态数组保存和数据库直接保存。 xml文本文件保存优点: 共享性强,几乎每种语言都可以读取和解析xml文件,方便多语言混合开发。 结构清晰,xml的结构很

大家好,又见面了,我是你们的朋友全栈君。

webgame世界的基础数值都是事先配置好的,在运行的时候可以随时读取,是属于非常重要和必不可少的部分,而且数据量也不少。这样的数据在开发中的存储也就变得重要了,需要保证效率、性能、安全等,一般的做法有使用xml文本文件保存、静态数组保存和数据库直接保存。
 
xml文本文件保存
优点:

 共享性强,几乎每种语言都可以读取和解析xml文件,方便多语言混合开发。

 结构清晰,xml的结构很严谨,层次分明一目了然。

 灵活应用,xml可以灵活的定义结构。

 扩展性强,xml可以随时扩展结构。
缺点:

 转化较差,xml有自己的格式标准,跟其他数据结构不同,如常用的key和value的形式就不一定能转化。

 效率不高,xml相比key和value的存储,效率大大不如。
 
静态数组保存
优点:

 效率很高,因为静态数组是在程序启动的时候就已经加载了,在内存操作速度都很快。

 操作方便,每种语言对数组都有很方便的api。

 转化较强,数组是key和value的形式,可以很方便的转化成其他数据结构。
缺点:

 缓存有限,因为内存不能全部都用来存储配置,只能是用很小的一部分。

 交互不便,和其他语言交互必须要转化,其他语言的数组结构一样但是格式定义不一样需要转化。
 
数据库保存
优点:

 安全稳定,数据库本身就是一个服务,有策略来保证数据的安全和稳定。

 性能强大,强壮的事物管理,可并行,日志等。

 管理方便,相比其他方式,数据库管理是最方便的,有数据库客户端支持。

 共享性强,几乎每种语言都提供数据库操作的api,方便多语言混合开发。
缺点:

 消耗较大,数据库服务本身就很庞大,运行需要消耗内存、cpu等。

 效率不高,数据库查询出来的数据需要转化成数组等才可以操作。
 
每种方式都各有优缺点,看起来好像还有点互补,其实在实际的开发中可以根据业务的情况来决定选择合适的方式,甚至是混合使用,没有也不需要规定一定是用哪种,只要合适就好。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/133925.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 大数据平台框架、组件以及处理流程详解

    大数据平台框架、组件以及处理流程详解数据产品和数据密不可分作为数据产品经理理解数据从产生、存储到应用的整个流程,以及大数据建设需要采用的技术框架Hadoop是必备的知识清单,以此在搭建数据产品时能够从全局的视角理解从数据到产品化的价值。本篇文章从三个维度:1.大数据的处理流程2.大数据的的平台框架Hadoop3.Hadoop生态圈组件理解了数据从产生到场景应用每个环节的流程过程以及企业在建立大数据平台时需要采用的技术…

    2022年5月23日
    149
  • VIF 多重共线性膨胀因子

    VIF 多重共线性膨胀因子方差膨胀系数(varianceinflationfactor,VIF)是衡量多元线性回归模型中复(多重)共线性严重程度的一种度量。它表示回归系数估计量的方差与假设自变量间不线性相关时方差相比的比值。多重共线性是指自变量之间存在线性相关关系,即一个自变量可以是其他一个或几个自变量的线性组合。若存在多重共线性,计算自变量的偏回归系数时矩阵不可逆。其表现主要有:整个模型的方差分析结果与各个自变量的回归系数的检验结果不一致,专业判断有统计学意义的自变量检验结果却无意义,自变量的系数或符号与实际情况严重不符等

    2022年6月7日
    34
  • IDEA汉化官方插件

    IDEA汉化官方插件直接在IDEA内下载即可输入Chinese下载完成后重启IDEA

    2022年6月5日
    131
  • 深入推荐引擎相关算法 – 协同过滤

    深入推荐引擎相关算法 – 协同过滤

    2021年11月21日
    40
  • rapidxml操作XML

    rapidxml操作XML主要对上一篇文章做了修改,文章涉及创建、读取和修改XML文件,内容比较齐全,可以供大家学习。创建xml文件:基本步骤:给文件分配节点xmlDoc.allocate_node(node_element,”seqs”,NULL);把分配好的节点添加到文件中xmlDoc.append_node(seqsNode)。对于节点属性,先分配节点xml_node<>*seqsNode=xmlDoc

    2022年7月17日
    18
  • python3+Scrapy爬虫实战(一)—— 初识Scrapy

    python3+Scrapy爬虫实战(一)—— 初识Scrapy目录目录初识Scrapy开发环境创建项目创建爬虫项目结构图创建Item分析HTML爬取网页Markdown及扩展表格定义列表代码块脚注目录数学公式UML图:离线写博客浏览器兼容初识Scrapy本人是一名Scrapy的爱好者和初学者,写这文章主要是为了加深对Scrapy的了解,如果文章中有写的不对或者有更好的方式方…

    2022年6月26日
    29

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号