Redis
Persist Agno sessions and other data in Redis.
RedisDb stores Agent, Team, and Workflow sessions, memories, knowledge, evaluations, and traces in Redis.
Usage
Start in a virtual environment.
Install the redis and openai packages:
uv pip install agno redis openaiRun Redis
Install Docker Desktop, then start Redis on port 6379:
docker run -d \
--name my-redis \
-p 6379:6379 \
redisfrom agno.agent import Agent
from agno.db.redis import RedisDb
db = RedisDb(db_url="redis://localhost:6379")
agent = Agent(db=db)Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
id | Optional[str] | - | Database ID. Derived deterministically from the URL (or client representation) and key prefix when omitted. |
redis_client | Optional[Union[Redis, RedisCluster]] | - | Redis client instance to use. If not provided a new client will be created from db_url. Required for Redis Cluster connections. |
db_url | Optional[str] | - | Redis connection URL (e.g., "redis://localhost:6379/0" or "rediss://user:pass@host:port/db"). Supports single-node Redis only. |
db_prefix | str | "agno" | Prefix for all Redis keys. |
expire | Optional[int] | - | TTL for Redis keys in seconds. |
session_table | Optional[str] | - | Name of the table to store sessions. |
runs_table | Optional[str] | - | Name of the table to store runs. |
memory_table | Optional[str] | - | Name of the table to store memories. |
metrics_table | Optional[str] | - | Name of the table to store metrics. |
eval_table | Optional[str] | - | Name of the table to store evaluation runs. |
knowledge_table | Optional[str] | - | Name of the table to store knowledge documents. |
traces_table | Optional[str] | - | Name of the table to store traces. |
spans_table | Optional[str] | - | Name of the table to store spans. |