高级玩家
![Rank: 4](static/image/common/star_level3.gif)
- 贡献度
- 4
- 金元
- 3865
- 积分
- 403
- 精华
- 0
- 注册时间
- 2007-12-27
|
// +build ignore,OMITpackage mainimport ( "bytes" "net/http" "time" "github.com/golang/groupcache")func main() { // STARTINIT OMIT me := "http://10.0.0.1" peers := groupcache.NewHTTPPool(me) // Whenever peers change: peers.Set("http://10.0.0.1", "http://10.0.0.2", "http://10.0.0.3") // ENDINIT OMIT // STARTGROUP OMIT var thumbNails = groupcache.NewGroup("thumbnail", 64<<20, groupcache.GetterFunc( func(ctx groupcache.Context, key string, dest groupcache.Sink) error { fileName := key dest.SetBytes(generateThumbnail(fileName)) return nil })) // ENDGROUP OMIT var ctx groupcache.Context var w http.ResponseWriter var r *http.Request // STARTUSE OMIT var data []byte err := thumbNails.Get(ctx, "big-file.jpg", groupcache.AllocatingByteSliceSink(&data)) // ... _ = err // OMIT var modTime time.Time // OMIT http.ServeContent(w, r, "big-file-thumb.jpg", modTime, bytes.NewReader(data)) // ENDUSE OMIT}func generateThumbnail(filename string) []byte { // ... return nil}
|
|