| @ -0,0 +1,24 @@ | |||||
| package redisrpc | |||||
| import ( | |||||
| "log" | |||||
| "testing" | |||||
| // "time" | |||||
| ) | |||||
| func Test_ReduceStock(t *testing.T) { | |||||
| ch := make(chan int) | |||||
| for i := 0; i < 100; i++ { | |||||
| go func() { | |||||
| log.Println("start") | |||||
| reply, err := ReduceStock("test_watch", "2") | |||||
| log.Println(reply) | |||||
| log.Println(err) | |||||
| log.Println("end") | |||||
| }() | |||||
| } | |||||
| <-ch | |||||
| } | |||||
| @ -0,0 +1,30 @@ | |||||
| package redisrpc | |||||
| import ( | |||||
| "github.com/golang/protobuf/proto" | |||||
| ) | |||||
| /** | |||||
| * 使用用户名查询 | |||||
| */ | |||||
| func ReduceStock(key string, value string, url ...string) (string, error) { | |||||
| conn, _, err := Conn(url...) | |||||
| if err != nil { | |||||
| return "", err | |||||
| } | |||||
| defer conn.Close() | |||||
| req := &SetRequest{proto.String(key), proto.String(value), proto.Int64(0), nil} | |||||
| res := &SetResponse{} | |||||
| err = conn.ReduceStock(req, res) | |||||
| if err != nil { | |||||
| return "", err | |||||
| } | |||||
| return res.GetRet(), nil | |||||
| } | |||||