View a markdown version of this page

为什么 ElastiCache Valkey 用于语义缓存 - Amazon ElastiCache

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

为什么 ElastiCache Valkey 用于语义缓存

语义缓存工作负载会持续写入、搜索和移出缓存条目,以提供传入的用户查询流,同时保持响应的新鲜度。缓存存储区必须满足以下要求:

  • Real-time 向量更新-缓存中必须立即提供新的查询和响应,以保持命中率。

  • Low-latency lookups — 缓存位于每个查询的联机请求路径中,因此查询不得给最终用户响应时间增加明显的延迟。

  • 高效的临时管理 — 条目经常被写入、读取和清除,因此需要对热点集进行高效的管理。

ElastiCache 对于 Valkey 符合以下要求:

  • 最低延迟的矢量搜索 — 在撰写本文时, ElastiCache for Valkey提供了延迟最低的矢量搜索,吞吐量最高,性价比最高,在上面的流行矢量数据库中,召回率超过95%。 AWS延迟低至微秒,召回率高达 99%。

  • 多线程架构 — 矢量搜索 ElastiCache 使用多线程架构,该架构支持实时矢量更新和高写入吞吐量,同时保持搜索请求的低延迟。

  • Built-in 缓存功能 — TTL(生存时间)、驱逐策略(allkeys-lru)和原子操作有助于管理语义缓存创建的短暂热条目集。

  • 向量索引支持 — ElastiCache 支持 HNSW(分层可导航小世界)和 FLAT 索引算法,包括余弦、欧几里得和内积距离指标。

  • Zero-downtime 可扩展性 — ElastiCache 支持在不停机的情况下进行扩展,允许您随着缓存的增长调整容量。

  • 框架集成 — f ElastiCache or Valkey AgentCore 通过 LangGraph 框架与 Amazon Bedrock 集成,使您能够为在 Amazon Bedrock 上构建的代理实现 Valkey-backed 语义缓存。