cachego
                                
                                
                                
                                    cachego copied to clipboard
                            
                            
                            
                        Golang Cache component - Multiple drivers
Cachego
Simple interface for caching
Installation
Cachego requires Go 1.15 or later.
go get github.com/faabiosr/cachego
Usage
package main
import (
	"log"
	"time"
	"github.com/faabiosr/cachego/sync"
)
func main() {
	cache := sync.New()
	if err := cache.Save("user_id", "1", 10*time.Second); err != nil {
		log.Fatal(err)
	}
	id, err := cache.Fetch("user_id")
	if err != nil {
		log.Fatal(err)
	}
	log.Printf("user id: %s \n", id)
	keys := cache.FetchMulti([]string{"user_id", "user_name"})
	for k, v := range keys {
		log.Printf("%s: %s\n", k, v)
	}
	if cache.Contains("user_name") {
		cache.Delete("user_name")
	}
	if _, err := cache.Fetch("user_name"); err != nil {
		log.Printf("%v\n", err)
	}
	if err := cache.Flush(); err != nil {
		log.Fatal(err)
	}
}
Supported drivers
- Bolt
 - Chain
 - File
 - Memcached
 - Mongo
 - Redis
 - Sqlite3
 - Sync
 
Documentation
Read the full documentation at https://pkg.go.dev/github.com/faabiosr/cachego.
Development
Requirements
- Install docker
 - Install docker-compose
 
Makefile
// Clean up
$ make clean
//Run tests and generates html coverage file
$ make cover
// Up the docker containers for testing
$ make docker
// Format all go files
$ make fmt
//Run linters
$ make lint
// Run tests
$ make test
License
This project is released under the MIT licence. See LICENSE for more details.