现在很多人都喜欢玩游戏,就有很多技术性的大佬喜欢深挖游戏服务器,然后就有人在网上公布自己发掘的信息,游戏服务器缓存不直接Redis,而是自己写代码写入计算机内存中。
正常读一次共享内存,即使cache miss,开销也是纳秒级别。读redis的话,即使在同一台机器上,底层读写套结字也会涉及操作系统内核协议栈的处理,实时性要求太高,60hz时一帧只有16ms, 请求一次 redis 快1ms,浪费不起,一局游戏都是本地计算,不会分布在多台机器中计算,不需要共享。
云渲染产品在画面上大概存在20ms的延迟 指令存在5ms的延迟。这延迟基本上在web端没啥感觉,但是这个延迟在穿戴设备上是无法接受的,web开发用redis感觉不出来慢,但是游戏开发用redis性能上可能会存在很大瓶颈。
为了最大化性能,游戏服务器通常会将数据直接存储在内存中,避免了网络延迟和序列化/反序列化开销,同时也能够更加灵活地控制数据的存储和读写方式。此外,自己写代码写入计算机内存中还可以更好地控制数据的一致性和安全性,避免了Redis可能存在的数据丢失和安全问题。
而且很多语言都有内存缓存模块,比redis支持的数据结构还多。
redis是对于多进程、多服务器,跨实例数据缓存而用的,如果你的数据只对当前运行的进程内有效,不做多实例共享,当然直接放内存里方便。
领取专属 10元无门槛券
私享最新 技术干货