需求背景
一个服务缓存玩家信息到对象里,通过对象的函数定时同步到数据库中,如果玩家掉线 清空对象,但是后续步骤导致对象数据需要变更,对象不存在, 就不方便变更了,怎么处理?
方案思考
1.临时新建对象
既然更新数据依赖对象,判断对象不存在的时候,先新建对象,再使用对象操作。
2.延后处理
判断对象不存在的时候,先记录函数名和参数,等对象下次出现的时候,延后调用。
方案选择
因为项目中使用的对象涉及到网络,玩家掉线情况下,参数不全,无法新建对象,所以选延后处理的方案比较合适。
具体代码
demo
第一版
序列化之后可以存入redis,我这里使用的是redis的list。
其他
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。