|
ngl_server 1.0
基于 Actor 模型的 C++ 服务器框架
|
数据库记录内存缓存层 More...
#include <db_cache.h>
Public Member Functions | |
| void | set_cachefun (const callback &afun, int32_t aintervalms) |
| 设置刷新回调函数和定时器 | |
| void | push (i64_actorid aid) |
| 标记单个记录为脏 | |
| void | push (const std::vector< i64_actorid > &aidlist) |
| 批量标记记录为脏 | |
| void | execute (const tools::wheel_node *) |
| 执行批量刷新操作 | |
数据库记录内存缓存层
带有脏标记跟踪的数据库记录缓存系统,用于批量刷新数据库更新。 通过时间轮定时器定期将脏记录ID批量刷新到数据库,提高写入性能。 热路径只需入队ID并返回,实际刷新操作在定时器回调中执行。
|
inline |
执行批量刷新操作
| 定时器节点指针(未使用) |
交换当前脏记录集合和副本集合,然后在锁外执行回调。 避免阻塞生产者线程。
|
inline |
批量标记记录为脏
| aidlist | 脏记录ID列表 |
线程安全,使用写锁保护。
|
inline |
标记单个记录为脏
| aid | 脏记录ID |
线程安全,使用写锁保护。
|
inline |
设置刷新回调函数和定时器
| afun | 刷新回调函数,接收脏记录ID集合 |
| aintervalms | 刷新间隔(毫秒) |
脏ID在共享时间轮上批量刷新,因此热路径只需入队ID并返回。