cachego

by faabiosr

faabiosr /cachego

Golang Cache component - Multiple drivers

137 Stars 7 Forks Last release: Not found MIT License 58 Commits 32 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

Cachego

Build Status Codecov branch GoDoc Go Report Card License

Simple interface for caching

Installation

Cachego requires Go 1.13 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

Documentation

Read the full documentation at https://pkg.go.dev/github.com/faabiosr/cachego.

Development

Requirements

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.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.