/onecache

One caching API, Multiple backends

Primary LanguageGoMIT LicenseMIT

OneCache - A Go caching Library

Coverage Status Build Status

Installation

$ go get -u github.com/adelowo/onecache

Supported cache stores

  • InMemory
  • Filesystem
  • Memcached
  • Redis

OneCache also comes with garbage collection. This is used by the filesystem and memory adapter to purge out expired items automatically. Please refer to the examples

Examples containing all adapters can be found here

var store onecache.Store

store = filesystem.MustNewFSStore("/home/adez/onecache_tmp")

err := store.Set("profile", []byte("Lanre"), time.Second*60)

if err != nil {
	fmt.Println(err)
	return
}

value,err := store.Get("profile")
if err != nil {
	fmt.Println(err)
	return
}

fmt.Println(string(value))

Some adapters like the filesystem and memory have a Garbage collection implementation. All that is needed to call is store.GC(). Ideally, this should be called in a ticker.C.

LICENSE

MIT