CMDCSkillEngine.Store.Backend.ETS (cmdc_skill_engine v0.3.0)

Copy Markdown View Source

基于 ETS 的 Skill 档案后端(默认)。

  • 单节点、进程内
  • 重启(包括 Store GenServer 崩溃)即丢数据
  • 适合开发、测试、单元测试环境,以及"不追求跨重启持久化"的生产场景

v0.3 多租户切片

ETS 表 key 形如 {scope, skill_id},同 backend 内不同 scope 互不可见。

  • 单租户:所有写入 / 读取走 scope = "global"(默认)
  • SaaS 多租户:每个租户独立 scope,列表查询 :ets.match_object/2{{scope, :_}, :_} 模式扫描

特性

  • 读走裸 ETS:并发高、零锁
  • 写走 Store GenServer 串行:保证计数递增原子
  • 表由 backend 命名 + 自动重建,重复 init/1 幂等

选项

  • :table — ETS 表名(默认 :cmdc_skill_engine_records

并发语义

所有通过 save_record/2 / update_counters/4 的写入都必须在 Store GenServer 上下文中顺序发生(GenServer 本身串行保证),读取操作允许 任意进程直接打 ETS。