Documentation ¶
Index ¶
- Constants
- type BigcacheClientInterface
- type BigcacheStore
- func (s *BigcacheStore) Clear() error
- func (s *BigcacheStore) Delete(key interface{}) error
- func (s *BigcacheStore) Get(key interface{}) (interface{}, error)
- func (s *BigcacheStore) GetType() string
- func (s *BigcacheStore) GetWithTTL(key interface{}) (interface{}, time.Duration, error)
- func (s *BigcacheStore) Invalidate(options InvalidateOptions) error
- func (s *BigcacheStore) Set(key interface{}, value interface{}, options *Options) error
- type FreecacheClientInterface
- type FreecacheStore
- func (f *FreecacheStore) Clear() error
- func (f *FreecacheStore) Delete(key interface{}) error
- func (f *FreecacheStore) Get(key interface{}) (interface{}, error)
- func (f *FreecacheStore) GetType() string
- func (f *FreecacheStore) GetWithTTL(key interface{}) (interface{}, time.Duration, error)
- func (f *FreecacheStore) Invalidate(options InvalidateOptions) error
- func (f *FreecacheStore) Set(key interface{}, value interface{}, options *Options) error
- type InvalidateOptions
- type MemcacheClientInterface
- type MemcacheStore
- func (s *MemcacheStore) Clear() error
- func (s *MemcacheStore) Delete(key interface{}) error
- func (s *MemcacheStore) Get(key interface{}) (interface{}, error)
- func (s *MemcacheStore) GetType() string
- func (s *MemcacheStore) GetWithTTL(key interface{}) (interface{}, time.Duration, error)
- func (s *MemcacheStore) Invalidate(options InvalidateOptions) error
- func (s *MemcacheStore) Set(key interface{}, value interface{}, options *Options) error
- type Options
- type RedisClientInterface
- type RedisStore
- func (s *RedisStore) Clear() error
- func (s *RedisStore) Delete(key interface{}) error
- func (s *RedisStore) Get(key interface{}) (interface{}, error)
- func (s *RedisStore) GetType() string
- func (s *RedisStore) GetWithTTL(key interface{}) (interface{}, time.Duration, error)
- func (s *RedisStore) Invalidate(options InvalidateOptions) error
- func (s *RedisStore) Set(key interface{}, value interface{}, options *Options) error
- type RistrettoClientInterface
- type RistrettoStore
- func (s *RistrettoStore) Clear() error
- func (s *RistrettoStore) Delete(key interface{}) error
- func (s *RistrettoStore) Get(key interface{}) (interface{}, error)
- func (s *RistrettoStore) GetType() string
- func (s *RistrettoStore) GetWithTTL(key interface{}) (interface{}, time.Duration, error)
- func (s *RistrettoStore) Invalidate(options InvalidateOptions) error
- func (s *RistrettoStore) Set(key interface{}, value interface{}, options *Options) error
- type StoreInterface
Constants ¶
const ( // BigcacheType represents the storage type as a string value BigcacheType = "bigcache" // BigcacheTagPattern represents the tag pattern to be used as a key in specified storage BigcacheTagPattern = "gocache_tag_%s" )
const ( // FreecacheType represents the storage type as a string value FreecacheType = "freecache" // FreecacheTagPattern represents the tag pattern to be used as a key in specified storage FreecacheTagPattern = "freecache_tag_%s" )
const ( // MemcacheType represents the storage type as a string value MemcacheType = "memcache" // MemcacheTagPattern represents the tag pattern to be used as a key in specified storage MemcacheTagPattern = "gocache_tag_%s" )
const ( // RedisType represents the storage type as a string value RedisType = "redis" // RedisTagPattern represents the tag pattern to be used as a key in specified storage RedisTagPattern = "gocache_tag_%s" )
const ( // RistrettoType represents the storage type as a string value RistrettoType = "ristretto" // RistrettoTagPattern represents the tag pattern to be used as a key in specified storage RistrettoTagPattern = "gocache_tag_%s" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BigcacheClientInterface ¶
type BigcacheClientInterface interface { Get(key string) ([]byte, error) Set(key string, entry []byte) error Delete(key string) error Reset() error }
BigcacheClientInterface represents a allegro/bigcache client
type BigcacheStore ¶
type BigcacheStore struct {
// contains filtered or unexported fields
}
BigcacheStore is a store for Redis
func NewBigcache ¶
func NewBigcache(client BigcacheClientInterface, options *Options) *BigcacheStore
NewBigcache creates a new store to Bigcache instance(s)
func (*BigcacheStore) Clear ¶ added in v1.0.0
func (s *BigcacheStore) Clear() error
Clear resets all data in the store
func (*BigcacheStore) Delete ¶ added in v0.2.0
func (s *BigcacheStore) Delete(key interface{}) error
Delete removes data from Redis for given key identifier
func (*BigcacheStore) Get ¶
func (s *BigcacheStore) Get(key interface{}) (interface{}, error)
Get returns data stored from a given key
func (*BigcacheStore) GetType ¶
func (s *BigcacheStore) GetType() string
GetType returns the store type
func (*BigcacheStore) GetWithTTL ¶ added in v1.1.0
func (s *BigcacheStore) GetWithTTL(key interface{}) (interface{}, time.Duration, error)
GetWithTTL returns data stored from a given key and its corresponding TTL
func (*BigcacheStore) Invalidate ¶ added in v0.2.0
func (s *BigcacheStore) Invalidate(options InvalidateOptions) error
Invalidate invalidates some cache data in Redis for given options
func (*BigcacheStore) Set ¶
func (s *BigcacheStore) Set(key interface{}, value interface{}, options *Options) error
Set defines data in Redis for given key identifier
type FreecacheClientInterface ¶ added in v1.1.0
type FreecacheClientInterface interface { Get(key []byte) (value []byte, err error) GetInt(key int64) (value []byte, err error) TTL(key []byte) (timeLeft uint32, err error) Set(key, value []byte, expireSeconds int) (err error) SetInt(key int64, value []byte, expireSeconds int) (err error) Del(key []byte) (affected bool) DelInt(key int64) (affected bool) Clear() }
FreecacheClientInterface represents a coocood/freecache client
type FreecacheStore ¶ added in v1.1.0
type FreecacheStore struct {
// contains filtered or unexported fields
}
FreecacheStore is a store for freecache
func NewFreecache ¶ added in v1.1.0
func NewFreecache(client FreecacheClientInterface, options *Options) *FreecacheStore
NewFreecache creates a new store to freecache instance(s)
func (*FreecacheStore) Clear ¶ added in v1.1.0
func (f *FreecacheStore) Clear() error
Clear resets all data in the store
func (*FreecacheStore) Delete ¶ added in v1.1.0
func (f *FreecacheStore) Delete(key interface{}) error
Delete deletes an item in the cache by key and returns err or nil if a delete occurred
func (*FreecacheStore) Get ¶ added in v1.1.0
func (f *FreecacheStore) Get(key interface{}) (interface{}, error)
Get returns data stored from a given key. It returns the value or not found error
func (*FreecacheStore) GetType ¶ added in v1.1.0
func (f *FreecacheStore) GetType() string
GetType returns the store type
func (*FreecacheStore) GetWithTTL ¶ added in v1.1.0
func (f *FreecacheStore) GetWithTTL(key interface{}) (interface{}, time.Duration, error)
GetWithTTL returns data stored from a given key and its corresponding TTL
func (*FreecacheStore) Invalidate ¶ added in v1.1.0
func (f *FreecacheStore) Invalidate(options InvalidateOptions) error
Invalidate invalidates some cache data in freecache for given options
func (*FreecacheStore) Set ¶ added in v1.1.0
func (f *FreecacheStore) Set(key interface{}, value interface{}, options *Options) error
Set sets a key, value and expiration for a cache entry and stores it in the cache. If the key is larger than 65535 or value is larger than 1/1024 of the cache size, the entry will not be written to the cache. expireSeconds <= 0 means no expire, but it can be evicted when cache is full.
type InvalidateOptions ¶ added in v0.2.0
type InvalidateOptions struct { // Tags allows to specify associated tags to the current value Tags []string }
InvalidateOptions represents the cache invalidation available options
func (InvalidateOptions) TagsValue ¶ added in v0.2.0
func (o InvalidateOptions) TagsValue() []string
TagsValue returns the tags option value
type MemcacheClientInterface ¶
type MemcacheClientInterface interface { Get(key string) (item *memcache.Item, err error) Set(item *memcache.Item) error Delete(item string) error FlushAll() error }
MemcacheClientInterface represents a bradfitz/gomemcache client
type MemcacheStore ¶
type MemcacheStore struct {
// contains filtered or unexported fields
}
MemcacheStore is a store for Memcache
func NewMemcache ¶
func NewMemcache(client MemcacheClientInterface, options *Options) *MemcacheStore
NewMemcache creates a new store to Memcache instance(s)
func (*MemcacheStore) Clear ¶ added in v1.0.0
func (s *MemcacheStore) Clear() error
Clear resets all data in the store
func (*MemcacheStore) Delete ¶ added in v0.2.0
func (s *MemcacheStore) Delete(key interface{}) error
Delete removes data from Memcache for given key identifier
func (*MemcacheStore) Get ¶
func (s *MemcacheStore) Get(key interface{}) (interface{}, error)
Get returns data stored from a given key
func (*MemcacheStore) GetType ¶
func (s *MemcacheStore) GetType() string
GetType returns the store type
func (*MemcacheStore) GetWithTTL ¶ added in v1.1.0
func (s *MemcacheStore) GetWithTTL(key interface{}) (interface{}, time.Duration, error)
GetWithTTL returns data stored from a given key and its corresponding TTL
func (*MemcacheStore) Invalidate ¶ added in v0.2.0
func (s *MemcacheStore) Invalidate(options InvalidateOptions) error
Invalidate invalidates some cache data in Redis for given options
func (*MemcacheStore) Set ¶
func (s *MemcacheStore) Set(key interface{}, value interface{}, options *Options) error
Set defines data in Memcache for given key identifier
type Options ¶
type Options struct { // Cost corresponds to the memory capacity used by the item when setting a value // Actually it seems to be used by Ristretto library only Cost int64 // Expiration allows to specify an expiration time when setting a value Expiration time.Duration // Tags allows to specify associated tags to the current value Tags []string }
Options represents the cache store available options
func (Options) ExpirationValue ¶
ExpirationValue returns the expiration option value
type RedisClientInterface ¶
type RedisClientInterface interface { Get(key string) *redis.StringCmd TTL(key string) *redis.DurationCmd Expire(key string, expiration time.Duration) *redis.BoolCmd Set(key string, values interface{}, expiration time.Duration) *redis.StatusCmd Del(keys ...string) *redis.IntCmd FlushAll() *redis.StatusCmd SAdd(key string, members ...interface{}) *redis.IntCmd SMembers(key string) *redis.StringSliceCmd }
RedisClientInterface represents a go-redis/redis client
type RedisStore ¶
type RedisStore struct {
// contains filtered or unexported fields
}
RedisStore is a store for Redis
func NewRedis ¶
func NewRedis(client RedisClientInterface, options *Options) *RedisStore
NewRedis creates a new store to Redis instance(s)
func (*RedisStore) Clear ¶ added in v1.0.0
func (s *RedisStore) Clear() error
Clear resets all data in the store
func (*RedisStore) Delete ¶ added in v0.2.0
func (s *RedisStore) Delete(key interface{}) error
Delete removes data from Redis for given key identifier
func (*RedisStore) Get ¶
func (s *RedisStore) Get(key interface{}) (interface{}, error)
Get returns data stored from a given key
func (*RedisStore) GetWithTTL ¶ added in v1.1.0
func (s *RedisStore) GetWithTTL(key interface{}) (interface{}, time.Duration, error)
GetWithTTL returns data stored from a given key and its corresponding TTL
func (*RedisStore) Invalidate ¶ added in v0.2.0
func (s *RedisStore) Invalidate(options InvalidateOptions) error
Invalidate invalidates some cache data in Redis for given options
func (*RedisStore) Set ¶
func (s *RedisStore) Set(key interface{}, value interface{}, options *Options) error
Set defines data in Redis for given key identifier
type RistrettoClientInterface ¶
type RistrettoClientInterface interface { Get(key interface{}) (interface{}, bool) SetWithTTL(key, value interface{}, cost int64, ttl time.Duration) bool Del(key interface{}) Clear() }
RistrettoClientInterface represents a dgraph-io/ristretto client
type RistrettoStore ¶
type RistrettoStore struct {
// contains filtered or unexported fields
}
RistrettoStore is a store for Ristretto (memory) library
func NewRistretto ¶
func NewRistretto(client RistrettoClientInterface, options *Options) *RistrettoStore
NewRistretto creates a new store to Ristretto (memory) library instance
func (*RistrettoStore) Clear ¶ added in v1.0.0
func (s *RistrettoStore) Clear() error
Clear resets all data in the store
func (*RistrettoStore) Delete ¶ added in v0.2.0
func (s *RistrettoStore) Delete(key interface{}) error
Delete removes data in Ristretto memoey cache for given key identifier
func (*RistrettoStore) Get ¶
func (s *RistrettoStore) Get(key interface{}) (interface{}, error)
Get returns data stored from a given key
func (*RistrettoStore) GetType ¶
func (s *RistrettoStore) GetType() string
GetType returns the store type
func (*RistrettoStore) GetWithTTL ¶ added in v1.1.0
func (s *RistrettoStore) GetWithTTL(key interface{}) (interface{}, time.Duration, error)
GetWithTTL returns data stored from a given key and its corresponding TTL
func (*RistrettoStore) Invalidate ¶ added in v0.2.0
func (s *RistrettoStore) Invalidate(options InvalidateOptions) error
Invalidate invalidates some cache data in Redis for given options
func (*RistrettoStore) Set ¶
func (s *RistrettoStore) Set(key interface{}, value interface{}, options *Options) error
Set defines data in Ristretto memoey cache for given key identifier
type StoreInterface ¶
type StoreInterface interface { Get(key interface{}) (interface{}, error) GetWithTTL(key interface{}) (interface{}, time.Duration, error) Set(key interface{}, value interface{}, options *Options) error Delete(key interface{}) error Invalidate(options InvalidateOptions) error Clear() error GetType() string }
StoreInterface is the interface for all available stores