//go:build e2e // Command miniredis 起一个进程内的 miniredis 实例,打印监听地址(host:port)到 stdout // 然后阻塞,直到收到 SIGINT/SIGTERM。供 scripts/e2e-smoke.sh 在无 docker / 无本地 // redis-server 时作为 Redis 兜底——server 进程经真 TCP 连它。build tag e2e:不进常规构建。 package main import ( "fmt" "os" "os/signal" "syscall" "github.com/alicebob/miniredis/v2" ) func main() { m, err := miniredis.Run() if err != nil { fmt.Fprintln(os.Stderr, "miniredis:", err) os.Exit(1) } // 第一行 = 监听地址,脚本读它作为 REDIS_ADDR。 fmt.Println(m.Addr()) ch := make(chan os.Signal, 1) signal.Notify(ch, syscall.SIGINT, syscall.SIGTERM) <-ch m.Close() }