x/data/cache Primer
x/data/cache Primer
Section titled “x/data/cache Primer”实验性 — API 兼容性未冻结。采用前请先评估。查看发布策略了解当前成熟度。
当你已经通过 x/data Primer 确认问题明确属于分布式或 Redis 缓存拓扑时,打开这一页:一致性哈希环、复制、故障转移、Redis 客户端适配器,或基于 store/cache 基础元语构建的排行榜缓存。
x/data/cache 是 x/data 家族内的下级包。在直接打开本包之前,先在 x/data 中开始分布式缓存工作。对于简单的进程内缓存,导入 github.com/spcent/plumego/store/cache 后直接使用 cache.MemoryCache,无需打开 x/data/cache。
什么时候从这里开始
Section titled “什么时候从这里开始”- 你正在实现或修改一致性哈希分布式缓存(
distributed/) - 你正在添加实现
store/cache.Cache接口的 Redis 客户端适配器逻辑(redis/) - 你正在构建或调优带排名语义的排行榜缓存(
leaderboard/) - 你正在为分布式缓存拓扑添加复制或故障转移协调
什么时候不该从这里开始
Section titled “什么时候不该从这里开始”- 简单的进程内缓存就足够 — 直接使用
store/cache中的cache.MemoryCache - 工作是按租户键范围化的 tenant 感知缓存适配器 — 那属于
x/tenant/store/cache - 改动关于稳定
store/cache接口定义 — 那是内核合约,不是适配器 - 工作是 core bootstrap 或应用级缓存配置
当前仓库里先读哪些文件
Section titled “当前仓库里先读哪些文件”x/data/cache/module.yamlx/data/cache/distributed/x/data/cache/redis/x/data/cache/leaderboard/
更具体的归属例子
Section titled “更具体的归属例子”这些工作适合留在 x/data/cache | 一旦变成这些问题就应移出 |
|---|---|
distributed:一致性哈希环、节点成员、复制因子、故障转移 | tenant 感知缓存范围化 — 使用 x/tenant/store/cache |
redis:实现 store/cache.Cache 的 Redis 客户端、pipeline 助手、TTL 管理 | Redis 集群管理或连接池配置 |
leaderboard:基于 store/cache 基础元语的有序集语义 | 业务专属排行榜规则或分数计算领域逻辑 |
| 复制协调器、哈希环成员更新 | 稳定 store/cache 接口变更 — 那是内核合约 |
为什么单独写这一页
Section titled “为什么单独写这一页”x/data/cache 经常被直接打开,而正确的起点是简单情况用 store/cache 中的 cache.MemoryCache,或拓扑归属用 x/data。下级关系的存在是因为分布式缓存拓扑——分片键、环成员、故障转移——是属于 x/data 家族的拓扑关注点,而不是独立的顶级关注点。将它们放在一起维护了拓扑决策显式且可审计的不变量。