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 openai

Run Redis

Install Docker Desktop, then start Redis on port 6379:

docker run -d \
  --name my-redis \
  -p 6379:6379 \
  redis
redis_for_agent.py
from agno.agent import Agent
from agno.db.redis import RedisDb

db = RedisDb(db_url="redis://localhost:6379")
agent = Agent(db=db)

Parameters

ParameterTypeDefaultDescription
idOptional[str]-Database ID. Derived deterministically from the URL (or client representation) and key prefix when omitted.
redis_clientOptional[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_urlOptional[str]-Redis connection URL (e.g., "redis://localhost:6379/0" or "rediss://user:pass@host:port/db"). Supports single-node Redis only.
db_prefixstr"agno"Prefix for all Redis keys.
expireOptional[int]-TTL for Redis keys in seconds.
session_tableOptional[str]-Name of the table to store sessions.
runs_tableOptional[str]-Name of the table to store runs.
memory_tableOptional[str]-Name of the table to store memories.
metrics_tableOptional[str]-Name of the table to store metrics.
eval_tableOptional[str]-Name of the table to store evaluation runs.
knowledge_tableOptional[str]-Name of the table to store knowledge documents.
traces_tableOptional[str]-Name of the table to store traces.
spans_tableOptional[str]-Name of the table to store spans.