cache

package module
v1.0.1 Latest Latest
Warning

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

Go to latest
Published: May 12, 2019 License: MIT Imports: 2 Imported by: 21

README

cache

Godoc Report Tests Coverage Patreon

Cache arbitrary data with an expiration time.

Features

  • 0 dependencies
  • Less than 100 lines of code
  • 100% test coverage

Usage

// New cache
c := cache.New(5 * time.Minute)

// Put something into the cache
c.Set("a", "b", 1 * time.Minute)

// Read from the cache
obj, found := c.Get("a")

// Convert the type
fmt.Println(obj.(string))

Benchmarks

BenchmarkGet-12         300000000                3.88 ns/op            0 B/op          0 allocs/op
BenchmarkSet-12         10000000               183 ns/op              48 B/op          2 allocs/op
BenchmarkNew-12         10000000               112 ns/op             352 B/op          5 allocs/op

Style

Please take a look at the style guidelines if you'd like to make a pull request.

Sponsors

Scott Rayapoullé Eduard Urbach
Scott Rayapoullé Eduard Urbach

Want to see your own name here?

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Cache

type Cache struct {
	// contains filtered or unexported fields
}

Cache stores arbitrary data with expiration time.

func New

func New(cleaningInterval time.Duration) *Cache

New creates a new cache that asynchronously cleans expired entries after the given time passes.

func (*Cache) Close

func (cache *Cache) Close()

Close closes the cache and frees up resources.

func (*Cache) Get

func (cache *Cache) Get(key interface{}) (interface{}, bool)

Get gets the value for the given key.

func (*Cache) Set

func (cache *Cache) Set(key interface{}, value interface{}, duration time.Duration)

Set sets a value for the given key with an expiration duration. If the duration is 0 or less, it will be stored forever.

Jump to

Keyboard shortcuts

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