Use ReadFull instead of ioutil.ReadAll to read objects (#76) * Use ReadFull instead of ioutil.ReadAll to read objects ioutil.ReadAll uses a bytes.Buffer, which allocates memory by doubling. Since we know exactly how muh data we expect to get, we can allocate it in advance. This reduces the total amount of allocation, and ensures that the slice stored in the item won't have excess capacity (which can affect memory usage if the item is held for a long time, for instance in a secondary cache).
This is a memcache client library for the Go programming language (http://golang.org/).
$ go get github.com/bradfitz/gomemcache/memcache
After this command gomemcache is ready to use. Its source will be in:
$GOPATH/src/github.com/bradfitz/gomemcache/memcache
import (
"github.com/bradfitz/gomemcache/memcache"
)
func main() {
mc := memcache.New("10.0.0.1:11211", "10.0.0.2:11211", "10.0.0.3:11212")
mc.Set(&memcache.Item{Key: "foo", Value: []byte("my value")})
it, err := mc.Get("foo")
...
}
See https://godoc.org/github.com/bradfitz/gomemcache/memcache
Or run:
$ godoc github.com/bradfitz/gomemcache/memcache