今天面试被问了这个问题。
具体背景是
某个RPG游戏有一个任务系统
整个系统包含几十万个不同的任务
但是每个任务玩家只能领取一次
每个服务器有几十万个玩家
请设计一个时间复杂度和空间复杂度都较为低的方案
请问这个问题应该怎么设计啊
每个玩家直接存储每个任务都完成情况的话,显然空间太大了
今天面试被问了这个问题。
具体背景是
某个RPG游戏有一个任务系统
整个系统包含几十万个不同的任务
但是每个任务玩家只能领取一次
每个服务器有几十万个玩家
请设计一个时间复杂度和空间复杂度都较为低的方案
请问这个问题应该怎么设计啊
每个玩家直接存储每个任务都完成情况的话,显然空间太大了
1、每个服务器加个缓存。玩家领取后将玩家的ID作为key放到缓存中,值为1.
2、或者加个缓存的集群,根据服务器ID分派到各自的服务器上面处理。
3、对于缓存来说,几十万不算很大