项目中为了数据的可持续存储,一般都会使用mysql或者mongodb来存储数据。但如果说数据的读取,修改等一系列的操作都在数据库中进行的话,效率是非常的低下的。为了避免这种情况,一般会使用缓存+数据库来处理数据。
在程序启动的时候,从数据库中将数据加载到内存中,之后的数据读取和修改等操作都在内存中进行,以加快效率。再通过设置合理的机制,将数据存入数据库,将数据进行持久化。
存储机制:在玩家属性中设置:operationTime操作次数;LastWriteDb 上次写入数据库时间戳。
在玩家每次操作之后,调用方法判断:if operationTime> xxx || now - LastWriteDb >xx ;为true是就将玩家数据插入数据库中,并将operationTime=0;LastWriteDb=now.