memcache: add pipelining, modernize some of the Go

Also:

* add synctest tests, which requires newer Go, so build tag those
  out. We need to bump go.mod to get working synctest, so:
* ... also add a CI check that we keep building with Go 1.18 for now,
  not using Go language/API changes newer than Go 1.18.
* few more config knobs

Fixes #160
9 files changed
tree: 0a3c41ca4a6a7861541c697ce7035fb94b99004d
  1. .github/
  2. memcache/
  3. .gitignore
  4. AUTHORS
  5. go.mod
  6. LICENSE
  7. README.md
README.md

About

Go Reference

This is a memcache client library for the Go programming language (http://golang.org/).

Example

Install with:

$ go get github.com/bradfitz/gomemcache/memcache

Then use it like:

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")
     ...
}

Full docs, see:

See https://pkg.go.dev/github.com/bradfitz/gomemcache/memcache

Or run:

$ godoc github.com/bradfitz/gomemcache/memcache