Infrastructure · Storage
Memory Storage Backends: Redis, Postgres & pgvector
Agent memory lives on storage backends — Redis for fast buffers, Postgres/pgvector for durable vectors, managed vector DBs for scale — chosen by latency, persistence and ops capacity.
Storage tiers
Redis
Redis for agent memory
Short-term buffers, session state, semantic cache and Redis Stack vectors for LTM-lite.
- Conversation buffer — list of recent messages per session
- Session state — agent working variables
- Semantic cache — cache LLM responses by query embedding
- Redis Stack vectors — lightweight vector search without separate DB
- Pub/sub — multi-agent memory sync
Low latency (sub-ms reads) but not ideal as sole LTM store — pair with durable vector backend.
Postgres
Postgres and pgvector
SQL + vectors in one database — good for teams with existing Postgres ops.
Schema pattern: memories(user_id, content, embedding vector(1536), metadata jsonb, created_at). Combine pgvector similarity with tsvector for hybrid search. Mem0 supports Postgres as a backend option.
Production-ready for many workloads; scale limits may push you to dedicated vector DBs at high QPS or billion-vector scale.
Managed
Managed vector databases
Graduate from pgvector when you need dedicated indexing, hybrid search and multi-tenant scale.
- Engram (Weaviate) — managed memory layer with write pipeline, hybrid search and tenancy
- Pinecone — serverless vector memory at scale
- Qdrant / Milvus — self-hosted or managed vector stores
- Zep — temporal graph + vector on managed platform
Decision
Choosing a backend
| Need | Backend |
|---|---|
| Sub-ms session buffer | Redis |
| SQL + vectors, existing Postgres team | pgvector |
| Hybrid search + managed ops | Engram (Weaviate) |
| Temporal graph memory | Zep |
| Fastest POC with extraction API | Mem0 managed |
| Full control, DIY pipeline | Redis + pgvector or Qdrant |
FAQ
Frequently asked questions
Is Redis enough for long-term agent memory?
Redis works for short-term buffers and semantic cache. For durable LTM, pair Redis (hot tier) with pgvector, Weaviate/Engram or another persistent vector store.
Is pgvector production-ready for agent memory?
Yes for many workloads — especially when you already run Postgres. Scale and latency needs may push you to dedicated vector DBs. Mem0 supports Postgres as a backend.
What storage backends does Mem0 support?
Engram runs on Weaviate natively. Mem0 supports multiple backends including vector DBs and Postgres. See Mem0 alternatives.
What backend does Engram use?
Engram runs on Weaviate — managed vector storage with hybrid search, tenancy and write pipelines. See Engram explained.
Multi-region agent memory storage?
Use managed vector DBs with regional replicas (Weaviate Cloud, Pinecone). Postgres multi-region is harder — consider read replicas per region with user_id routing.
Cost comparison: Redis vs Postgres vs managed vector DB?
Redis: low per-GB but not for billion vectors. Postgres: ops cost you already bear. Managed vector DB: per-query + storage pricing. Mem0 ~1,800 vs ~26,000 tokens cuts LLM cost regardless of backend.
How do you migrate between memory backends?
Export via API, map schema, re-embed if models differ, dual-write cutover, validate LOCOMO recall. See build long-term memory and memory management.