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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • NTP协议实现_ntp时间同步端口

    NTP协议实现_ntp时间同步端口本文出处:http://www.eefocus.com/html/10-04/94667s.shtml10.4 实验内容——NTP协议实现1.实验目的    通过实现NTP协议的练习,进一步掌握Linux网络编程,并且提高协议的分析与实现能力,为参与完成综合性

    2022年10月12日
    0
  • 免费的mysql数据库管理工具_易语言快速导入MySQL数据库

    免费的mysql数据库管理工具_易语言快速导入MySQL数据库介绍两个网站,提供免费的mysql数据库,方便测试使用

    2022年4月19日
    32
  • ADRC学习

    学习ADRC先从提出这个算法的论文《从PID技术到“自抗扰控制”技术》开始。https://download.csdn.net/download/qq_34445388/10309935调试四轮智能车,板球控制系统,两轮直立车,舵机控制,这些控制系统用的都是PID控制,虽然我已经有很多种改进方法,但是还是很难突破传统PID的限制,调节速度和超调一定同时存在,想要得到较好的控制效果,用现…

    2022年4月3日
    45
  • jvm常量池和字符串常量池_常量池中的字符串是对象吗

    jvm常量池和字符串常量池_常量池中的字符串是对象吗JVM——字符串常量池详解引言在Java开发中不管是前后端交互的JSON串,还是数据库中的数据存储,我们常常需要使用到String类型的字符串。作为最常用也是最基础的引用数据类型,JVM为String提供了字符串常量池来提高性能,本篇文章我们一起从底层JVM中认识并学习字符串常量池的概念和设计原理。字符串常量池由来在日常开发过程中,字符串的创建是比较频繁的,而字符串的分配和其他对象的分配是类似的,需要耗费大量的时间和空间,从而影响程序的运行性能,所以作为最基础最常用的引用数据类型,Java设计者在

    2022年7月28日
    1
  • Flume与Kafka对接「建议收藏」

    Flume与Kafka对接「建议收藏」引言flume为什么要与kafka对接?我们都知道flume可以跨节点进行数据的传输,那么flume与sparkstreaming对接不好吗?主要是flume对接到kafka的topic,可以给多个consumergroup去生成多条业务线。虽然flume中的channelselector中的副本策略也可以做多给多个sink传输数据,但是每个channelselector都是很消耗资源的。文章目录一、flume采集的数据发往一个topic二、flume采集的数据发往多个topic总结.

    2022年6月23日
    45
  • windows update更新返回错误码统计(WUSA.exe)「建议收藏」

    windows update更新返回错误码统计(WUSA.exe)「建议收藏」windowsupdate更新返回错误码统计(WUSA.exe)ThisExitCodesorReturnValuescanberetrievedfromanWindowsUpdateInstallation.ReturnCodeReturnCodeHEXMessage23592970x240001WU_S_SERVICE_STOP23592980x240002WU_S_SELFUPDATE23592990x240003W

    2022年5月22日
    47

发表回复

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

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