Skip to content

plugin-memory-inmemory — 内存记忆

包名: @aalis/plugin-memory-inmemory
源码: packages/plugin-memory-inmemory/src/index.ts

概述

无持久化的内存消息存储,作为 memory 服务的 fallback 实现。本插件不会自动启用,需要显式启用;与 SQLite、MongoDB 后端同时加载且未通过 servicePreferences 指定偏好时,服务解析选中对方。

插件声明

typescript
meta.name = '@aalis/plugin-memory-inmemory'
meta.displayName = '内存记忆'
meta.subsystem = 'memory'
meta.provides = ['memory']

注册优先级: -100(在 apply 中经 ctx.provide 传入,低于 plugin-memory-sqlite 的 10 与 plugin-memory-mongodb 的 5)

配置

配置项由 packages/plugin-memory-inmemory/src/index.tsconfigSchema 声明。

字段类型默认值说明
rangeQueryLimitnumber500范围查询返回上限:区间消息查询单次返回的最大条数。命中上限会静默截断(与 sqlite/mongodb 后端对齐)
crossSessionMaxLimitnumber1000跨会话查询返回上限:跨会话最近消息查询允许的最大条数;调用方请求超过此值会被收窄到此上限

工作方式

  • 消息按会话 ID 存放在进程内存中,活跃历史与 trimHistory 裁出的归档分开保存
  • 结构化元数据按命名空间与 key 存放,写入和读出时均做深拷贝
  • 应用重启后数据丢失
  • 适用于开发/测试环境或无需持久化的场景