package middleware import ( "github.com/gogf/gf/frame/g" "github.com/gogf/gf/net/ghttp" ) func generateDuplicateKey(r *ghttp.Request) string { // 用请求的uri和 return r.RequestURI + r.GetRemoteIp() } func DuplicateVerify(r *ghttp.Request) { key := generateDuplicateKey(r) //DoVar 方法用于执行 Redis 命令,并返回结果 //v, _ := g.Redis().DoVar("GET", key) //结果转为整数类型 //if v.Int() != 0 { // r.Response.WriteJson(g.Map{ // "code": 500, // "msg": "操作过于频繁", // }) // // return //} g.Redis().Do("SETEX", key, 1, 1) r.Middleware.Next() }