What problem does it solve? Working with Redis in serverless and edge environments is difficult because traditional TCP-based clients like ioredis and node-redis require persistent connections and manual JSON serialization. This Skill provides complete guidance for the @upstash/redis SDK, which works over HTTP/REST and automatically serializes JavaScript types. ## Core Features & Use Cases - All Redis Data Structures: Covers strings, hashes, lists, sets, sorted sets, JSON documents, and streams with automatic type serialization, so numbers stay numbers and objects stay objects without JSON.stringify/parse. - Production Patterns: Ready-to-use implementations for caching (cache-aside, write-through), rate limiting, session management, distributed locks, and leaderboards. - Upstash Redis Search: Full-text search, filtering, and aggregations over Redis data using schema-defined indexes, with TCP adapters via @upstash/search-redis and @upstash/search-ioredis. - Performance & Migrations: Auto-pipelining, batching, TTL strategies, error handling with retries, plus step-by-step migration guides from ioredis and node-redis. - Use Case: Build a rate-limited API endpoint on Vercel Edge that caches database queries in Redis, stores user sessions with TTL expiration, and maintains a real-time leaderboard using sorted sets. ## Quick Start Set up an Upstash Redis client using environment variables and store a user session object with a one-hour expiration.