persistence

package
v1.2.0 Latest Latest
Warning

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

Go to latest
Published: Nov 15, 2019 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

View Source
const (
	DEFAULT = time.Duration(1)
	FOREVER = time.Duration(-1)
)

Variables

View Source
var (
	PageCachePrefix = "gincontrib.page.cache"
	ErrCacheMiss    = errors.New("cache: key not found.")
	ErrNotStored    = errors.New("cache: not stored.")
	ErrNotSupport   = errors.New("cache: not support.")
)

Functions

This section is empty.

Types

type CacheStore

type CacheStore interface {
	// Get retrieves an item from the cache. Returns the item or nil, and a bool indicating
	// whether the key was found.
	Get(key string, value interface{}) error

	// Set sets an item to the cache, replacing any existing item.
	Set(key string, value interface{}, expire time.Duration) error

	// Add adds an item to the cache only if an item doesn't already exist for the given
	// key, or if the existing item has expired. Returns an error otherwise.
	Add(key string, value interface{}, expire time.Duration) error

	// Replace sets a new value for the cache key only if it already exists. Returns an
	// error if it does not.
	Replace(key string, data interface{}, expire time.Duration) error

	// Delete removes an item from the cache. Does nothing if the key is not in the cache.
	Delete(key string) error

	// Increment increments a real number, and returns error if the value is not real
	Increment(key string, data uint64) (uint64, error)

	// Decrement decrements a real number, and returns error if the value is not real
	Decrement(key string, data uint64) (uint64, error)

	// Flush seletes all items from the cache.
	Flush() error
}

CacheStore is the interface of a cache backend

type InMemoryStore

type InMemoryStore struct {
	cache.Cache
}

InMemoryStore represents the cache with memory persistence

func NewInMemoryStore

func NewInMemoryStore(defaultExpiration time.Duration) *InMemoryStore

NewInMemoryStore returns a InMemoryStore

func (*InMemoryStore) Add

func (c *InMemoryStore) Add(key string, value interface{}, expires time.Duration) error

Add (see CacheStore interface)

func (*InMemoryStore) Decrement

func (c *InMemoryStore) Decrement(key string, n uint64) (uint64, error)

Decrement (see CacheStore interface)

func (*InMemoryStore) Delete

func (c *InMemoryStore) Delete(key string) error

Delete (see CacheStore interface)

func (*InMemoryStore) Flush

func (c *InMemoryStore) Flush() error

Flush (see CacheStore interface)

func (*InMemoryStore) Get

func (c *InMemoryStore) Get(key string, value interface{}) error

Get (see CacheStore interface)

func (*InMemoryStore) Increment

func (c *InMemoryStore) Increment(key string, n uint64) (uint64, error)

Increment (see CacheStore interface)

func (*InMemoryStore) Replace

func (c *InMemoryStore) Replace(key string, value interface{}, expires time.Duration) error

Replace (see CacheStore interface)

func (*InMemoryStore) Set

func (c *InMemoryStore) Set(key string, value interface{}, expires time.Duration) error

Set (see CacheStore interface)

type MemcachedBinaryStore

type MemcachedBinaryStore struct {
	*mc.Client
	// contains filtered or unexported fields
}

MemcachedBinaryStore represents the cache with memcached persistence using the binary protocol

func NewMemcachedBinaryStore

func NewMemcachedBinaryStore(hostList, username, password string, defaultExpiration time.Duration) *MemcachedBinaryStore

NewMemcachedBinaryStore returns a MemcachedBinaryStore

func NewMemcachedBinaryStoreWithConfig

func NewMemcachedBinaryStoreWithConfig(hostList, username, password string, defaultExpiration time.Duration, config *mc.Config) *MemcachedBinaryStore

NewMemcachedBinaryStoreWithConfig returns a MemcachedBinaryStore using the provided configuration

func (*MemcachedBinaryStore) Add

func (s *MemcachedBinaryStore) Add(key string, value interface{}, expires time.Duration) error

Add (see CacheStore interface)

func (*MemcachedBinaryStore) Decrement

func (s *MemcachedBinaryStore) Decrement(key string, delta uint64) (uint64, error)

Decrement (see CacheStore interface)

func (*MemcachedBinaryStore) Delete

func (s *MemcachedBinaryStore) Delete(key string) error

Delete (see CacheStore interface)

func (*MemcachedBinaryStore) Flush

func (s *MemcachedBinaryStore) Flush() error

Flush (see CacheStore interface)

func (*MemcachedBinaryStore) Get

func (s *MemcachedBinaryStore) Get(key string, value interface{}) error

Get (see CacheStore interface)

func (*MemcachedBinaryStore) Increment

func (s *MemcachedBinaryStore) Increment(key string, delta uint64) (uint64, error)

Increment (see CacheStore interface)

func (*MemcachedBinaryStore) Replace

func (s *MemcachedBinaryStore) Replace(key string, value interface{}, expires time.Duration) error

Replace (see CacheStore interface)

func (*MemcachedBinaryStore) Set

func (s *MemcachedBinaryStore) Set(key string, value interface{}, expires time.Duration) error

Set (see CacheStore interface)

type MemcachedStore

type MemcachedStore struct {
	*memcache.Client
	// contains filtered or unexported fields
}

MemcachedStore represents the cache with memcached persistence

func NewMemcachedStore

func NewMemcachedStore(hostList []string, defaultExpiration time.Duration) *MemcachedStore

NewMemcachedStore returns a MemcachedStore

func (*MemcachedStore) Add

func (c *MemcachedStore) Add(key string, value interface{}, expires time.Duration) error

Add (see CacheStore interface)

func (*MemcachedStore) Decrement

func (c *MemcachedStore) Decrement(key string, delta uint64) (uint64, error)

Decrement (see CacheStore interface)

func (*MemcachedStore) Delete

func (c *MemcachedStore) Delete(key string) error

Delete (see CacheStore interface)

func (*MemcachedStore) Flush

func (c *MemcachedStore) Flush() error

Flush (see CacheStore interface)

func (*MemcachedStore) Get

func (c *MemcachedStore) Get(key string, value interface{}) error

Get (see CacheStore interface)

func (*MemcachedStore) Increment

func (c *MemcachedStore) Increment(key string, delta uint64) (uint64, error)

Increment (see CacheStore interface)

func (*MemcachedStore) Replace

func (c *MemcachedStore) Replace(key string, value interface{}, expires time.Duration) error

Replace (see CacheStore interface)

func (*MemcachedStore) Set

func (c *MemcachedStore) Set(key string, value interface{}, expires time.Duration) error

Set (see CacheStore interface)

type RedisConfig

type RedisConfig struct {
	WriterOptions     RedisOptions
	ReaderOptions     RedisOptions
	Password          string
	DefaultExpiration time.Duration
}

type RedisOptions

type RedisOptions redis.Options

RedisOptions allows the user to configure the client without importing the redis package

func NewRedisOptions

func NewRedisOptions() RedisOptions

NewRedisOptions creates RedisOptions with defaults

type RedisStore

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

RedisStore represents the cache with redis persistence

func NewRedisCache

func NewRedisCache(config *RedisConfig) *RedisStore

NewRedisCache returns a RedisStore

func (*RedisStore) Add

func (c *RedisStore) Add(key string, value interface{}, expires time.Duration) error

Add (see CacheStore interface)

func (*RedisStore) Decrement

func (c *RedisStore) Decrement(key string, delta uint64) (newValue uint64, err error)

Decrement (see CacheStore interface)

func (*RedisStore) Delete

func (c *RedisStore) Delete(key string) error

Delete (see CacheStore interface)

func (*RedisStore) Flush

func (c *RedisStore) Flush() error

Flush (see CacheStore interface)

func (*RedisStore) Get

func (c *RedisStore) Get(key string, ptrValue interface{}) error

Get (see CacheStore interface)

func (*RedisStore) Increment

func (c *RedisStore) Increment(key string, delta uint64) (uint64, error)

Increment (see CacheStore interface)

func (*RedisStore) Replace

func (c *RedisStore) Replace(key string, value interface{}, expires time.Duration) error

Replace (see CacheStore interface)

func (*RedisStore) Set

func (c *RedisStore) Set(key string, value interface{}, expires time.Duration) error

Set (see CacheStore interface)

Jump to

Keyboard shortcuts

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