跳转到内容

x/data/cache Primer

实验性 — API 兼容性未冻结。采用前请先评估。查看发布策略了解当前成熟度。

当你已经通过 x/data Primer 确认问题明确属于分布式或 Redis 缓存拓扑时,打开这一页:一致性哈希环、复制、故障转移、Redis 客户端适配器,或基于 store/cache 基础元语构建的排行榜缓存。

x/data/cachex/data 家族内的下级包。在直接打开本包之前,先在 x/data 中开始分布式缓存工作。对于简单的进程内缓存,导入 github.com/spcent/plumego/store/cache 后直接使用 cache.MemoryCache,无需打开 x/data/cache

  • 你正在实现或修改一致性哈希分布式缓存(distributed/
  • 你正在添加实现 store/cache.Cache 接口的 Redis 客户端适配器逻辑(redis/
  • 你正在构建或调优带排名语义的排行榜缓存(leaderboard/
  • 你正在为分布式缓存拓扑添加复制或故障转移协调
  • 简单的进程内缓存就足够 — 直接使用 store/cache 中的 cache.MemoryCache
  • 工作是按租户键范围化的 tenant 感知缓存适配器 — 那属于 x/tenant/store/cache
  • 改动关于稳定 store/cache 接口定义 — 那是内核合约,不是适配器
  • 工作是 core bootstrap 或应用级缓存配置
  1. x/data/cache/module.yaml
  2. x/data/cache/distributed/
  3. x/data/cache/redis/
  4. x/data/cache/leaderboard/
这些工作适合留在 x/data/cache一旦变成这些问题就应移出
distributed:一致性哈希环、节点成员、复制因子、故障转移tenant 感知缓存范围化 — 使用 x/tenant/store/cache
redis:实现 store/cache.Cache 的 Redis 客户端、pipeline 助手、TTL 管理Redis 集群管理或连接池配置
leaderboard:基于 store/cache 基础元语的有序集语义业务专属排行榜规则或分数计算领域逻辑
复制协调器、哈希环成员更新稳定 store/cache 接口变更 — 那是内核合约

x/data/cache 经常被直接打开,而正确的起点是简单情况用 store/cache 中的 cache.MemoryCache,或拓扑归属用 x/data。下级关系的存在是因为分布式缓存拓扑——分片键、环成员、故障转移——是属于 x/data 家族的拓扑关注点,而不是独立的顶级关注点。将它们放在一起维护了拓扑决策显式且可审计的不变量。