webgame 数据缓存一思路
来源:互联网 发布:linux防止ssh暴力破解 编辑:程序博客网 时间:2024/05/17 21:43
webgame 数据缓存一思路
数据缓存两种方式:
一:以数据库数据为中心。
二:以内存数据为中心。
以内存数据为中心缓存数据是在数据库事务提交之前。如果提交发生失败,则整个游戏系统已缓存的数据为主。
数据库提交之前更新缓存的好处是如果发生错误,唯一可能错误的地方就是写数据库时写失败了。但如果整个游戏系统是以缓存数据为准,只要游戏逻辑在计算时没发生错误,将错误的数据写入缓存,那么就算当前的数据修改提交到数据库失败了,数据还有可能在下一次修改时,提交一份正确的数据到数据库。整个系统不会因为数据库瘫痪了而无法运行。这点感觉和网游的服务器设计思路近似,毕竟对于网游来说,不可能每次玩家的操作都将数据写回数据库,玩家的数据都以在服务器内存里的数据为准,以定时的方式将内存数据回写到数据库。
其实这两种设计思路的差别就在于,数据是以数据库为中心还是以内存数据为中心。对与web系统来说,自然是以数据库为中心。从网游的角度来说,自然以内存数据为中心。而webgame是这两大系统的结合,其数据访问思路自然综合了这两种观点,具体到某个游戏,则需要根据游戏的需要而加以取舍了。
除了以字典为主的缓存设计外,还有一个重要的缓存对象的设计需要说一下,那就是地图。目前常见的Webgame(Travian,武林三国)都是以一张400*400的世界地图为玩家的交战地图。通常是一次性全部加载到内存里。存放的格式,自然是以x,y轴坐标为依据的二维表里。虽然首次加载是数据会比较慢一些,内存占用的空间会多一些,但当玩家查看地图页时,你会发现页面生成的数据比从数据库里获取相应数据要快很多。再加上现在服务器内存动则4G,8G的。则几十兆的地图数据还是毛毛雨了。
原文:http://www.webgame163.com/?p=14
- webgame 数据缓存一思路
- webgame怎么缓存SWF和数据的
- webgame游戏模式分析一
- webgame
- HTML缓存思路探究(版本一)
- 缓存应用程序数据(一)
- 本地缓存和中央缓存 同步数据思路
- 缓存思路
- 10万在线的WebGame的架构设计思路
- WebGame服务端架构分析(一)
- 前端数据缓存(一)
- 利用redis缓存热门数据,分页的一种思路
- 利用redis缓存热门数据,分页的一种思路
- iOS数据库离线缓存思路和网络层封装——数据缓存操作封装
- iOS数据库离线缓存思路和网络层封装——数据缓存机制Model封装
- web策略类游戏开发(一) WebGame架构篇
- web策略类游戏开发(一) WebGame架构篇
- 网页游戏开发入门教程一(webgame+design)
- gcc和g++的区别
- 关于时间简单的FUNCTION
- 面试上司 你想过没有
- Eclipse+tomcat的安装配置
- url传递中的特殊符号的编码以及中文编码
- webgame 数据缓存一思路
- SNS 社会性网络服务
- 比较有用的命令行
- java JTree树 叶子节点 不同图标
- CAST 和 CONVERT的区别
- GPRS problem fixed
- C++ 枚举类型。。。
- 高精度计算----加法运算
- 坚持学习WF(6):开发可复用的宿主程序