读取缓存
(message *pb.NodeStreamMessage)
| 221 | |
| 222 | // 读取缓存 |
| 223 | func (this *APIStream) handleReadCache(message *pb.NodeStreamMessage) error { |
| 224 | msg := &messageconfigs.ReadCacheMessage{} |
| 225 | err := json.Unmarshal(message.DataJSON, msg) |
| 226 | if err != nil { |
| 227 | this.replyFail(message.RequestId, "decode message data failed: "+err.Error()) |
| 228 | return err |
| 229 | } |
| 230 | |
| 231 | storage, shouldStop, err := this.cacheStorage(message, msg.CachePolicyJSON) |
| 232 | if err != nil { |
| 233 | return err |
| 234 | } |
| 235 | if shouldStop { |
| 236 | defer func() { |
| 237 | storage.Stop() |
| 238 | }() |
| 239 | } |
| 240 | |
| 241 | reader, err := storage.OpenReader(msg.Key, false, false) |
| 242 | if err != nil { |
| 243 | if err == caches.ErrNotFound { |
| 244 | this.replyFail(message.RequestId, "key not found") |
| 245 | return nil |
| 246 | } |
| 247 | this.replyFail(message.RequestId, "read key failed: "+err.Error()) |
| 248 | return nil |
| 249 | } |
| 250 | defer func() { |
| 251 | _ = reader.Close() |
| 252 | }() |
| 253 | |
| 254 | this.replyOk(message.RequestId, "value "+strconv.FormatInt(reader.BodySize(), 10)+" bytes") |
| 255 | |
| 256 | return nil |
| 257 | } |
| 258 | |
| 259 | // 统计缓存 |
| 260 | func (this *APIStream) handleStatCache(message *pb.NodeStreamMessage) error { |
no test coverage detected