Files
quyun-v2/docs/rate_limit_redis.md

1.3 KiB

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):

sudo -n docker run -d --name quyun-redis -p 6379:6379 docker.hub.ipao.vip/redis:7 \
  redis-server --requirepass testpass

Config sample

[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

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

sudo -n docker rm -f quyun-redis