Redis 语义缓存 (Redis Semantic Cache)
Redis 缓存后端使用带有 RediSearch 的 Redis Stack 提供持久化、高性能的语义缓存。与专用向量数据库相比,该方案在提供卓越性能的同时,具有较低的运维复杂度。
概览
Redis 缓存非常适合:
- 需要快速响应时间的生产环境
- 单机或集群 Redis 部署
- 具有高效内存使用要求的中大型应用
- 具有可选 TTL 过期功能的持久化存储
- 使用熟悉的 Redis 工具实现简化运维
架构
配置
Redis 后端配置
在 config/semantic-cache/redis.yaml 中配置:
# config/semantic-cache/redis.yaml
connection:
address: "localhost:6379"
password: ""
db: 0
pool_size: 10
max_retries: 3
dial_timeout_ms: 5000
read_timeout_ms: 3000
write_timeout_ms: 3000
tls:
enabled: false
index:
name: "semantic_cache_idx"
prefix: "doc:"
vector_field:
name: "embedding"
dimension: 384 # 必须与嵌入模型的维度匹配
algorithm: "HNSW"
metric_type: "COSINE"
hnsw:
m: 16
ef_construction: 200
ef_runtime: 10
search:
top_k: 5
development:
drop_index_on_startup: false
log_level: "info"