#!/bin/bash
# 启动本地 Redis 用于压测

set -e

echo "=== 启动本地 Redis ==="

# 检查是否已有容器在运行
if docker ps | grep -q polling-redis; then
    echo "Redis 容器已在运行"
    docker ps | grep polling-redis
    exit 0
fi

# 停止并删除旧容器（如果存在）
docker rm -f polling-redis 2>/dev/null || true

# 启动 Redis 容器
# - 16GB maxmemory（压测用）
# - 禁用持久化（提高性能）
docker run -d \
    --name polling-redis \
    -p 6379:6379 \
    redis:7-alpine \
    redis-server \
    --maxmemory 8gb \
    --maxmemory-policy allkeys-lru \
    --appendonly no \
    --save ""

echo ""
echo "等待 Redis 启动..."
sleep 2

# 验证连接
if redis-cli ping | grep -q PONG; then
    echo "✓ Redis 启动成功"
    echo ""
    echo "连接信息:"
    echo "  地址: 127.0.0.1:6379"
    echo "  密码: (无)"
    echo ""
    echo "Redis 内存配置:"
    redis-cli CONFIG GET maxmemory
else
    echo "✗ Redis 启动失败"
    exit 1
fi
