docs: add rate limit redis smoke test
This commit is contained in:
53
docs/rate_limit_redis.md
Normal file
53
docs/rate_limit_redis.md
Normal file
@@ -0,0 +1,53 @@
|
||||
# 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.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
|
||||
```
|
||||
Reference in New Issue
Block a user