persistence

package
v1.1.7 Latest Latest
Warning

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

Go to latest
Published: Dec 29, 2020 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

View Source
const (
	DEFAULT = time.Duration(0)
	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

func Add added in v1.1.4

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

Add (see CacheStore interface)

func Decrement added in v1.1.4

func Decrement(key string, n uint64) (uint64, error)

Decrement (see CacheStore interface)

func Delete added in v1.1.4

func Delete(key string) error

Delete (see CacheStore interface)

func Flush added in v1.1.4

func Flush() error

Flush (see CacheStore interface)

func Get added in v1.1.4

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

Get (see CacheStore interface)

func Increment added in v1.1.4

func Increment(key string, n uint64) (uint64, error)

Increment (see CacheStore interface)

func Replace added in v1.1.4

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

Replace (see CacheStore interface)

func Set added in v1.1.4

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

Set (see CacheStore interface)

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

var Store CacheStore

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 added in v1.1.4

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

MemcachedBinaryStore represents the cache with memcached persistence using the binary protocol

func NewMemcachedBinaryStore added in v1.1.4

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

NewMemcachedBinaryStore returns a MemcachedBinaryStore

func NewMemcachedBinaryStoreWithConfig added in v1.1.4

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

NewMemcachedBinaryStoreWithConfig returns a MemcachedBinaryStore using the provided configuration

func (*MemcachedBinaryStore) Add added in v1.1.4

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

Add (see CacheStore interface)

func (*MemcachedBinaryStore) Decrement added in v1.1.4

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

Decrement (see CacheStore interface)

func (*MemcachedBinaryStore) Delete added in v1.1.4

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

Delete (see CacheStore interface)

func (*MemcachedBinaryStore) Flush added in v1.1.4

func (s *MemcachedBinaryStore) Flush() error

Flush (see CacheStore interface)

func (*MemcachedBinaryStore) Get added in v1.1.4

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

Get (see CacheStore interface)

func (*MemcachedBinaryStore) Increment added in v1.1.4

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

Increment (see CacheStore interface)

func (*MemcachedBinaryStore) Replace added in v1.1.4

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

Replace (see CacheStore interface)

func (*MemcachedBinaryStore) Set added in v1.1.4

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 RedisStore

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

RedisStore represents the cache with redis persistence

func NewRedisCache

func NewRedisCache(host string, password string, defaultExpiration time.Duration) *RedisStore

NewRedisCache returns a RedisStore until redigo supports sharding/clustering, only one host will be in hostList

func NewRedisCacheWithPool added in v1.1.4

func NewRedisCacheWithPool(pool *redis.Pool, defaultExpiration time.Duration) *RedisStore

NewRedisCacheWithPool returns a RedisStore using the provided pool until redigo supports sharding/clustering, only one host will be in hostList

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