Documentation
¶
Overview ¶
Package store defines interfaces to be implemented by cache backends as used by the github.com/bartventer/httpcache package.
Implementing a Cache Backend ¶
To implement a custom cache backend, provide a type that implements the Cache interface.
Implementations must be safe for concurrent use by multiple goroutines.
Implementations can be found in sub-packages such as store/memcache and store/fscache.
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ErrNotExist = errors.New("cache: entry does not exist")
ErrNotExist is returned when a cache entry does not exist.
Methods such as [Cache.Get] and [Cache.Delete] should return an error that satisfies errors.Is(err, store.ErrNotExist) if the entry is not found.
var ErrUnknownDriver = errors.New("store: unknown driver")
Functions ¶
Types ¶
type Cache ¶
type Cache interface {
// Get retrieves the cached value for the given key.
// If the key does not exist, it should return an error satisfying
// errors.Is(err, store.ErrNotExist).
Get(key string) ([]byte, error)
// Set stores the value for the given key.
// If the key already exists, it should overwrite the existing value.
Set(key string, value []byte) error
// Delete removes the cached value for the given key.
// If the key does not exist, it should return an error satisfying
// errors.Is(err, store.ErrNotExist).
Delete(key string) error
}
Cache describes the interface implemented by types that can store, retrieve, and delete cached values by key.
Directories
¶
| Path | Synopsis |
|---|---|
|
Package acceptancetest provides a suite of acceptance tests for Cache implementations.
|
Package acceptancetest provides a suite of acceptance tests for Cache implementations. |
|
Package fscache implements a file system-based store.Cache.
|
Package fscache implements a file system-based store.Cache. |
|
Package memcache provides an in-memory implementation of store.Cache.
|
Package memcache provides an in-memory implementation of store.Cache. |