缓存与函数缓存
当前正式承接范围
本页覆盖当前 TS 版 monSQLize 已正式承接的缓存相关能力:
MemoryCachecreateRedisCacheAdapterDistributedCacheInvalidatorwithCache()FunctionCache
若你正在从旧的 monSQLize 缓存包装 API 迁移,请先阅读
cache-hub 直调迁移说明。
1. MemoryCache
MemoryCache 是当前最小可直接使用的本地缓存入口,适合:
- 单进程开发环境
- 本地函数缓存
- 无 Redis 依赖的快速接入
2. withCache()
withCache() 用于把任意异步函数包装成带缓存与并发去重能力的版本。
当前行为边界
- 支持
namespace、ttl - 支持自定义
cache - 支持
keyBuilder - 支持
condition - 支持并发请求去重
- 支持
invalidate()/invalidateAll()与stats()
3. FunctionCache
FunctionCache 适合把一组具名函数集中注册、执行与清理。
4. 仓库内可执行示例
该示例会演示:
当前官方示例文件是 examples/cache/with-cache.ts,验证时会先编译再执行。该示例会演示:
withCache()在相同参数下只计算一次FunctionCache的register()/execute()/list()/clear()最小路径
5. Redis 与分布式能力说明
当前仓库已恢复:
createRedisCacheAdapterDistributedCacheInvalidator
但本轮首批示例不依赖 Redis,原因是:
- 首批目标是建立最小可执行示例闭环
- Redis 依赖属于 optional dependency
- 不应把“当前正式文档入口建立”与“分布式缓存环境搭建”强耦合
Redis / 多级缓存的进阶部署建议会继续在当前文档站内补齐;当前仓库已提供可执行起点:
examples/cache/with-cache.tsexamples/docs/slow-query-log.ts
6. 性能说明边界
当前仓库的性能相关正式证据来自:
test/performance/baselines/function-cache.benchmark.js
它的用途是:
- 回归守卫
- 热路径与并发去重行为验证
它不是:
- 对外营销数字的唯一来源
- 跨版本 / 跨机器的完整性能结论