Files
quyun-v2/docs/rate_limit_redis.md

57 lines
1.3 KiB
Markdown

# Rate Limit Redis Smoke Test
This note records the local Redis setup and a quick smoke test for rate-limit storage.
## Docker setup (local)
Image source used in this environment:
- `docker.hub.ipao.vip/redis:7`
Start container (password enabled):
```bash
sudo -n docker run -d --name quyun-redis -p 6379:6379 docker.hub.ipao.vip/redis:7 \
redis-server --requirepass testpass
```
## Config sample
```toml
[Http]
Port = 18080 # 如果 8080 被占用,可调整端口
[Http.RateLimit]
Enabled = true
Max = 120
WindowSeconds = 60
Message = "Too Many Requests"
[Http.RateLimit.Redis]
Addrs = ["127.0.0.1:6379"]
Username = ""
Password = "testpass"
DB = 2
Prefix = "rl:"
```
## Smoke test commands
```bash
sudo -n docker exec quyun-redis redis-cli ping
sudo -n docker exec quyun-redis redis-cli -a testpass ping
sudo -n docker exec quyun-redis redis-cli -a testpass -n 2 set rl:tenant:demo 1 EX 60
sudo -n docker exec quyun-redis redis-cli -a testpass -n 2 get rl:tenant:demo
sudo -n docker exec quyun-redis redis-cli -a testpass -n 0 get rl:tenant:demo
```
Expected behavior:
- First ping returns `NOAUTH Authentication required.`
- Authenticated ping returns `PONG`.
- DB 2 contains `rl:tenant:demo = 1`, DB 0 does not.
## Cleanup
```bash
sudo -n docker rm -f quyun-redis
```