从 0 开始学游戏开发
蔡能
原网易游戏引擎架构师,资深游戏底层技术专家
37243 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 42 讲
从 0 开始学游戏开发
15
15
1.0x
00:00/00:00
登录|注册

第27讲 | 如何制作游戏内容保存和缓存处理?

缓存解决方案
缓存计数
接口代码
发布/订阅机制
主从同步
IO操作
数据类型
内存缓存
客户端本地保存的意义
同步内容的方法
网络游戏内容保存在客户端本地的可能性
设计好的框架和网络模型的重要性
缓存机制的应用
Redis的多种用途
缓存机制
服务器存放文件
Redis
问题
小结
文件和缓存存放
缓存处理
游戏内容保存和缓存处理

该思维导图由 AI 生成,仅供参考

我们在打完游戏的关卡之后,需要保存游戏进度。单机游戏的进度都保存在本地磁盘上,如果是网络游戏的话该怎么办呢?这一节,我就来讲这个内容。
首先,我们要了解游戏内容的保存,需要先了解缓存处理。
为什么要了解缓存的处理呢?那是因为在大量用户的情况下,我们所保存的内容都是为了下次读取,如果每一次都从硬盘或者数据库读取,会导致用户量巨大数据库死锁,或者造成读取速度变慢,所以在服务器端,缓存的功能是一定要加上的。

Redis 不仅是内存缓存

缓存机制里有个叫 Redis 的软件。它是一种内存数据库,很多开发者把 Redis 当作单纯的内存缓存来使用,事实上,这种说法并不准确,Redis 完全可以当作一般数据库来使用。
Redis 是一种 key-value 型的存储系统。它支持存储的 value 类型很多,包括字符串、链表、集合、有序集合和哈希类型。这些数据类型都支持 push/pop、add/remove 及取交集并集和差集及更丰富的操作,而且这些操作都具有原子性。
Redis 还支持各种不同方式的排序。为了保证效率,数据一般都会缓存在内存中,而 Redis 会周期性地把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现 master-slave(主从)的同步。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文介绍了如何制作游戏内容保存和缓存处理。首先,作者讲解了缓存处理的重要性,以及Redis作为一种内存数据库的特点和优势。接着,文章详细介绍了如何使用Python编写Redis接口的代码,并且强调了Redis对于存储内容的灵活性和稳定性。此外,文章还探讨了如何存放文件和缓存的机制,以及如何利用缓存计数和缓存的解决方案来提高效率。最后,作者总结了Redis的多种用途和缓存机制的广泛适用性,强调了设计好的框架、缓存机制和网络模型对于网游的重要性。总的来说,本文深入浅出地介绍了游戏内容保存和缓存处理的技术特点,为读者提供了全面的技术知识和实践经验。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《从 0 开始学游戏开发》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(3)

  • 最新
  • 精选
  • 风林
    大佬能不能加上对每次小问题的看法,我这个小白好多问题没有头绪,想看看大佬的看法
    2018-08-16
    6
  • Coder Wu
    内容附带生成一个md5,以服务器保存的为主,向客户端同步并缓存内容和md5到本地,客户端登录的时候可以将本地的md5和服务器返回的md5做比较,如果不同则进行更新覆盖。
    2019-07-16
    2
  • 放羊大王
    减压。做定时同步。
    2018-08-16
    2
收起评论
显示
设置
留言
3
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部