

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

# 为什么 ElastiCache Valkey 用于语义缓存
<a name="semantic-caching-why-elasticache"></a>

语义缓存工作负载会持续写入、搜索和移出缓存条目，以提供传入的用户查询流，同时保持响应的新鲜度。缓存存储区必须满足以下要求：
+ **Real-time 向量更新**-缓存中必须立即提供新的查询和响应，以保持命中率。
+ **Low-latency lookups** — 缓存位于每个查询的联机请求路径中，因此查询不得给最终用户响应时间增加明显的延迟。
+ **高效的临时管理** — 条目经常被写入、读取和清除，因此需要对热点集进行高效的管理。

ElastiCache 对于 Valkey 符合以下要求：
+ **最低延迟的矢量搜索** — 在撰写本文时， ElastiCache for Valkey提供了延迟最低的矢量搜索，吞吐量最高，性价比最高，在上面的流行矢量数据库中，召回率超过95％。 Amazon延迟低至微秒，召回率高达 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 语义缓存。