freecache

package
v0.5.0 Latest Latest
Warning

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

Go to latest
Published: Jan 12, 2019 License: MPL-2.0 Imports: 3 Imported by: 0

Documentation

Overview

Package freecache contains an implementation of the `gokv.Store` interface for FreeCache.

Index

Constants

This section is empty.

Variables

View Source
var DefaultOptions = Options{
	Size:  256 * 1024 * 1024,
	Codec: encoding.JSON,
}

DefaultOptions is an Options object with default values. Size: 256 MiB, Codec: encoding.JSON

Functions

This section is empty.

Types

type Options

type Options struct {
	// The size of the cache in bytes.
	// 512 KiB is the minimum size
	// (if you set a lower size, 512 KiB will be used instead).
	// If you set 0, the default size will be used.
	// When the size is reached and you store new entries,
	// old entries are evicted.
	// Optional (256 MiB by default).
	Size int
	// Encoding format.
	// Optional (encoding.JSON by default).
	Codec encoding.Codec
}

Options are the options for the FreeCache store.

type Store

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

Store is a gokv.Store implementation for FreeCache.

func NewStore

func NewStore(options Options) Store

NewStore creates a FreeCache store.

You should call the Close() method on the store when you're done working with it.

func (Store) Close

func (s Store) Close() error

Close closes the store. When called, the cache is cleared.

func (Store) Delete

func (s Store) Delete(k string) error

Delete deletes the stored value for the given key. Deleting a non-existing key-value pair does NOT lead to an error. The key must not be "".

func (Store) Get

func (s Store) Get(k string, v interface{}) (found bool, err error)

Get retrieves the stored value for the given key. You need to pass a pointer to the value, so in case of a struct the automatic unmarshalling can populate the fields of the object that v points to with the values of the retrieved object's values. If no value is found it returns (false, nil). The key must not be "" and the pointer must not be nil.

func (Store) Set

func (s Store) Set(k string, v interface{}) error

Set stores the given value for the given key. Values are automatically marshalled to JSON or gob (depending on the configuration). The key must not be "" and the value must not be nil.

Jump to

Keyboard shortcuts

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