cacher

package module
v1.0.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 10, 2019 License: MIT Imports: 0 Imported by: 10

README

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())
}

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Clear

func Clear() error

Clear clear all

func Delete

func Delete(key string) error

Delete delete value

func DeleteMultiple

func DeleteMultiple(keys ...string) error

DeleteMultiple delete multiple value

func Get

func Get(key string) ([]byte, error)

Get get value

func GetD

func GetD(key string, v []byte) []byte

GetD get value ,if not found return a default value

func GetMultiple

func GetMultiple(keys ...string) (map[string][]byte, error)

GetMultiple get multiple value

func Has

func Has(key string) (bool, error)

Has check value

func Register

func Register(c Cacher)

RegisterCache register cache to map

func Set

func Set(key string, val []byte) error

Set set value

func SetMultiple

func SetMultiple(values map[string][]byte) error

SetMultiple set multiple value

func SetWithTTL

func SetWithTTL(key string, val []byte, ttl int64) error

SetWithTTL set value with time to life

Types

type Cacher

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
}

Cacher define an cache interface

func Instance added in v1.0.5

func Instance() Cacher

Instance get current cacher instance

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL