A Go implementation of the memcached protocol, designed to be easy to switch storage mechanisms depending on your specific needs.
import (
"log"
"github.com/bradberger/memcached"
)
func main() {
log.Fatal(memcached.ListenAndServe(":11211"))
}You can configure the storage engine, the listening address, and the logging interface. The server currently implements a subset of the memcached protocol. The extent to which it implements all the storage methods are dependent on the storage engine you choose. (I'll add details about what this means in the future)
import (
"log"
"github.com/bradberger/memcached"
"github.com/bradberger/gocache/drivers/lru"
)
func main() {
srv := &memcached.Server{
// Set the cache engine.
// Must implement "github.com/bradberger/gocache/cache.Cache" interface.
Cache: lru.NewBasic(lru.Gigabyte, 100000),
// Set the logger.
// Must implement "github.com/bradberger/memcached".Logger interface.
Logger: logger.Init("Memcached", true, false, os.Stdout),
// Set the listen address. Default is :11211
Addr: ":11211",
}
log.Fatal(srv.ListenAndServe())
}-
incrementcommand support -
decrementcommand support -
touchcommand support - [-]
appendcommand support - [-]
prependcommand support -
gatcommand support -
gatscommand support -
cascommand support - UDP support
- Binary protocol support
- handle
noreplyproperly