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");
}