Skip to main content

Overview

Redis tool allows you to interact with Redis for caching, key-value storage, and pub/sub messaging.

Installation

pip install "praisonai[tools]"

Environment Variables

export REDIS_HOST=localhost
export REDIS_PORT=6379
export REDIS_PASSWORD=your_password  # Optional

Quick Start

from praisonai_tools import RedisTool

# Initialize
redis = RedisTool(host="localhost", port=6379)

# Set and get values
redis.set("key", "value")
value = redis.get("key")
print(value)

Usage with Agent

from praisonaiagents import Agent
from praisonai_tools import RedisTool

redis = RedisTool(host="localhost", port=6379)

agent = Agent(
    name="CacheManager",
    instructions="You manage cached data using Redis.",
    tools=[redis]
)

response = agent.chat("Store user preferences for user123")
print(response)

Available Methods

get(key)

Get a value by key.
from praisonai_tools import RedisTool

redis = RedisTool(host="localhost")
value = redis.get("user:123:name")

set(key, value, ttl=None)

Set a key-value pair with optional TTL.
redis.set("session:abc", "data", ttl=3600)  # Expires in 1 hour

delete(key)

Delete a key.
redis.delete("old_key")

keys(pattern)

Find keys matching a pattern.
keys = redis.keys("user:*")

hget/hset

Hash operations.
redis.hset("user:123", "name", "Alice")
name = redis.hget("user:123", "name")

Docker Setup

docker run -d --name redis \
    -p 6379:6379 \
    redis:7

Common Errors

ErrorCauseSolution
redis not installedMissing dependencyRun pip install redis
Connection refusedRedis not runningStart Redis server
NOAUTHAuthentication requiredProvide password