Skip to content
gocacherPublic

About

a go cache interface

Resources

Stars

1 star

Watchers

1 watching

Forks

Latest commit

 

History

20 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cacher is a definition with cache

you can use Register(Cacher) in your code to implements a Cacher then use the interface{}

/*Cacher define an cache interface */
type Cacher interface {
	//get a value
	Get(key string) ([]byte, error)
	//get a value from cache with default
	GetD(key string, v []byte) []byte
	//set a value to cache
	Set(key string, val []byte) error
	//set a value with ttl
	SetWithTTL(key string, val []byte, ttl int64) error
	//check the value is exist
	Has(key string) (bool, error)
	//delete a value
	Delete(key string) error
	//clear all the values
	Clear() error
	//get multi values
	GetMultiple(keys ...string) (map[string][]byte, error)
	//set multi values with [key]value
	SetMultiple(values map[string][]byte) error
	//delete multi values
	DeleteMultiple(keys ...string) error
}

now cacher has two implements:

https://github.com/gocacher/badger-cache
https://github.com/gocacher/file-cache
https://github.com/gocacher/map-cache //undone

3 steps to make your cacher: import -> new -> register

//example:
import (
	cache "github.com/gocacher/badger-cache/v2"
	"github.com/gocacher/cacher"
)

func RegisterCache() {
	cacher.Register(cache.New())
}

About

a go cache interface

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

⌂ 换网址