Skip to content

Commit 41a72e7

Browse files
authored
🍱 remove goroutine usage
1 parent 02d06ae commit 41a72e7

File tree

1 file changed

+10
-15
lines changed

1 file changed

+10
-15
lines changed

simpleredis.go

Lines changed: 10 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -70,12 +70,11 @@ func (sr *SimpleRedis) waitRedis(reader *textproto.Reader, channel chan redisCmd
7070
}
7171
}
7272

73-
func (sr *SimpleRedis) askRedis(cmd redisCmd, channel chan redisCmd) {
73+
func (sr *SimpleRedis) askRedis(cmd redisCmd, channel chan redisCmd) redisCmd {
7474
dialer := net.Dialer{Timeout: 2 * time.Second}
7575
conn, err := dialer.Dial("tcp", sr.host)
7676
if err != nil {
77-
channel <- redisCmd{Error: fmt.Errorf(RedisUnreachable)}
78-
return
77+
return redisCmd{Error: fmt.Errorf(RedisUnreachable)}
7978
}
8079
defer func() {
8180
if err := conn.Close(); err != nil {
@@ -111,21 +110,18 @@ func (sr *SimpleRedis) askRedis(cmd redisCmd, channel chan redisCmd) {
111110
for {
112111
select {
113112
case <-time.After(time.Second * 1):
114-
channel <- redisCmd{Error: fmt.Errorf(RedisTimeout)}
115-
return
113+
return redisCmd{Error: fmt.Errorf(RedisTimeout)}
116114
default:
117115
read, _ := reader.ReadLineBytes()
118116
str := string(read)
119117
if strings.Contains(str, "-NOAUTH") {
120-
channel <- redisCmd{Error: fmt.Errorf(RedisNoAuth)}
121-
return
118+
return redisCmd{Error: fmt.Errorf(RedisNoAuth)}
122119
} else if str != "$1" {
123-
channel <- redisCmd{Error: fmt.Errorf(RedisMiss)}
124-
return
120+
return redisCmd{Error: fmt.Errorf(RedisMiss)}
125121
}
126122
read, _ = reader.ReadLineBytes()
127-
channel <- redisCmd{Data: read}
128-
return
123+
return redisCmd{Data: read}
124+
129125
}
130126
}
131127
}
@@ -145,8 +141,7 @@ func (sr *SimpleRedis) Get(name string) ([]byte, error) {
145141
Name: name,
146142
}
147143
channel := make(chan redisCmd)
148-
go sr.askRedis(cmd, channel)
149-
resp := <-channel
144+
resp := sr.askRedis(cmd, channel)
150145
if resp.Error != nil {
151146
return nil, resp.Error
152147
}
@@ -161,7 +156,7 @@ func (sr *SimpleRedis) Set(name string, data []byte, duration int64) error {
161156
Data: data,
162157
Duration: duration,
163158
}
164-
go sr.askRedis(cmd, nil)
159+
sr.askRedis(cmd, nil)
165160
return nil
166161
}
167162

@@ -171,6 +166,6 @@ func (sr *SimpleRedis) Del(name string) error {
171166
Command: "DEL",
172167
Name: name,
173168
}
174-
go sr.askRedis(cmd, nil)
169+
sr.askRedis(cmd, nil)
175170
return nil
176171
}

0 commit comments

Comments
 (0)