ngl_server 1.0
基于 Actor 模型的 C++ 服务器框架
db_cache.h File Reference

数据库记录内存缓存层 More...

#include "tools/tools/tools_time_wheel.h"
#include "tools/tools/tools_thread.h"
#include "tools/type.h"
#include "scope_guard.h"
#include <functional>
#include <set>

Classes

class  ngl::db_cache
 数据库记录内存缓存层 More...

Detailed Description

数据库记录内存缓存层

带有脏标记跟踪的数据库记录缓存系统,用于批量刷新数据库更新。 通过时间轮定时器定期将脏记录ID批量刷新到数据库,提高写入性能。 热路径只需入队ID并返回,实际刷新操作在定时器回调中执行。

Note
所有类和函数均位于 ngl 命名空间下。
// 使用示例
cache.set_cachefun([](std::set<i64_actorid>& dirty_ids) {
// 批量刷新脏记录到数据库
for (int64_t id : dirty_ids) {
// 更新数据库记录
}
}, 5000); // 每5秒刷新一次
// 标记记录为脏
cache.push(12345); // 单个记录
cache.push({1, 2, 3}); // 批量记录