managarten/apps/uload/docs/features/redis_docs/redis-quickstart.md
Wuesteon d36b321d9d style: auto-format codebase with Prettier
Applied formatting to 1487+ files using pnpm format:write
  - TypeScript/JavaScript files
  - Svelte components
  - Astro pages
  - JSON configs
  - Markdown docs

  13 files still need manual review (Astro JSX comments)
2025-11-27 18:33:16 +01:00

2.1 KiB

Redis Cache - Quick Start Guide

🚀 5-Minute Setup

macOS/Linux

# 1. Install Redis
brew install redis

# 2. Start Redis
brew services start redis

# 3. Add to .env.development
echo "REDIS_HOST=localhost" >> .env.development
echo "REDIS_PORT=6379" >> .env.development
echo "REDIS_PASSWORD=" >> .env.development

# 4. Start app
npm run dev

# 5. Verify
curl http://localhost:5173/api/redis-status

Windows (WSL2)

# 1. Install Redis in WSL2
sudo apt update
sudo apt install redis-server

# 2. Start Redis
sudo service redis-server start

# 3. Configure (same as macOS)

Docker

# 1. Run Redis container
docker run -d -p 6379:6379 --name uload-redis redis:alpine

# 2. Configure (same as above)

Verify It's Working

Check Connection

# Should return: PONG
redis-cli ping

Check App Status

Visit: http://localhost:5173/api/redis-status

Should see:

{
	"connected": true,
	"available": true
}

Test Cache Performance

  1. Create a short link
  2. Visit it (slow - cache miss)
  3. Visit again (fast - cache hit!)
  4. Check console for "Cache HIT!" message

🛠 Common Commands

# View all cached links
redis-cli keys "redirect:*"

# Clear cache
redis-cli flushall

# Monitor activity
redis-cli monitor

# Stop Redis
brew services stop redis

🔥 Quick Tips

  1. No Password Locally: Leave REDIS_PASSWORD empty for local dev
  2. Auto-Fallback: App works without Redis (just slower)
  3. Hot Reload: Changes to Redis config need server restart
  4. Memory: Redis uses ~50MB for thousands of links

📚 Learn More

🆘 Help

Redis won't start?

brew services restart redis

Connection refused?

# Check if running
ps aux | grep redis

Cache not working?

  • Check console for Redis connection message
  • Verify environment variables are loaded
  • Try explicit env vars: REDIS_HOST=localhost npm run dev