跳到主要内容

game_server.entity_backup

简介

组件接口

entity_backup.gs

基于engine实现的mongo db数据安全存取功能模块 主要目的是在系统发生异常的情况下,能够减少数据损失; 实现的基本想法是: 待保存的数据先备份到本地文件再向数据库实际写入 几点说明: 1.本模块初始化后将替换掉engine.mods.mongo中的一些mongo脚本实现,以保证上层脚本使用时是透明的; 2.所有自定义的本模块的功能模块需要包含FEntityBackupOp组件

函数原型函数作用
void startup(map para = )本模块初始化
array read(string db_name, string coll, string op, string rid, ...)读操作: 在目标数据库集合上对指定的实体rid进行读操作
bool write(string db_name, string coll, string op, string rid, ...)写操作: 在目标数据库集合上对指定的实体rid进行写操作;在本地文件上写成功后就返回
bool write_async(string db_name, string coll, string op, string rid, ...)异步写操作: 在目标数据库集合上对指定的实体rid进行写操作;投递后立刻返回
bool write_async_callback(function callback, string db_name, string coll, string op, string rid, ...)异步写操作带有回调: 在目标数据库集合上对指定的实体rid进行写操作;在本地文件上写成功后执行回调
bool persist(string db_name, string coll, string op, string rid, ...)持久化操作: 在目标数据库集合上对指定的实体rid进行写操作;在持久化数据以后返回
bool persist_async_callback(function callback, string db_name, string coll, string op, string rid, ...)异步持久化操作带有回调: 在目标数据库集合上对指定的实体rid进行写操作;在持久化数据后执行回调
bool is_writing(string rid)指定实体rid的是否正在进行写操作
void try_drop_docs()尝试删除本地无用的备份数据文件

样例

public void pkg_sample()
{
write("sample");
}