Documentation

Redis Chat Memory

The Redis Chat Memory component enables fast, in-memory storage of chat conversations using Redis. It provides a high-performance solution for maintaining conversation history across sessions, with the speed and efficiency that Redis offers for real-time applications.

Redis Chat Memory Component

Redis Chat Memory interface

Component Inputs

  • hostname: Redis server hostname or IP address

    Address of the Redis server (e.g., localhost)

  • port: Redis server port number

    Port on which the Redis server is listening (default: 6379)

  • database: Redis database index

    The specific Redis database number to use (0-15 by default)

  • Username: Redis authentication username

    Username for Redis authentication (if enabled)

  • Password: Redis authentication password

    Password for Redis authentication

  • Key prefix: Optional prefix for Redis keys

    Helps organize and identify memory records

  • Session ID: Unique identifier for the conversation session

    Used to retrieve and store messages for a specific conversation

Component Outputs

  • Memory: Retrieved conversation history or confirmation of stored data

Use Cases

  • High-Performance Applications: Fast access to conversation history
  • Real-time Chat Systems: Low-latency storage and retrieval for responsive chat experiences
  • Caching Layer: Temporary storage of conversation data
  • Horizontal Scaling: Distribute chat memory across multiple nodes
  • Rate-Limited Applications: Efficient storage for rate-limited conversations
  • Session Management: Track active conversation sessions with expiration capabilities

Best Practices

  • Configure appropriate TTL (Time To Live) values for conversations
  • Store sensitive credentials securely using environment variables
  • Implement connection pooling for better performance
  • Set up Redis persistence to prevent data loss on restarts
  • Monitor Redis memory usage to prevent out-of-memory issues
  • Implement proper error handling for Redis connections
  • Consider using Redis Cluster for high availability
  • Use Redis pipelining for batch operations
  • Implement proper data serialization and deserialization