Documentation ¶
Index ¶
- Constants
- Variables
- func Add(key string, value interface{}, expires time.Duration) error
- func Decrement(key string, n uint64) (newValue uint64, err error)
- func Delete(key string) error
- func Deserialize(byt []byte, ptr interface{}) (err error)
- func Flush() error
- func Get(key string, ptrValue interface{}) error
- func Increment(key string, n uint64) (newValue uint64, err error)
- func Replace(key string, value interface{}, expires time.Duration) error
- func Serialize(value interface{}) ([]byte, error)
- func Set(key string, value interface{}, expires time.Duration) error
- type Cache
- type Getter
- type GroupCacheCache
- type InMemoryCache
- func (c InMemoryCache) Add(key string, value interface{}, expires time.Duration) error
- func (c InMemoryCache) Decrement(key string, n uint64) (newValue uint64, err error)
- func (c InMemoryCache) Delete(key string) error
- func (c InMemoryCache) Flush() error
- func (c InMemoryCache) Get(key string, ptrValue interface{}) error
- func (c InMemoryCache) GetMulti(keys ...string) (Getter, error)
- func (c InMemoryCache) Increment(key string, n uint64) (newValue uint64, err error)
- func (c InMemoryCache) Replace(key string, value interface{}, expires time.Duration) error
- func (c InMemoryCache) Set(key string, value interface{}, expires time.Duration) error
- type ItemMapGetter
- type MemcachedCache
- func (c MemcachedCache) Add(key string, value interface{}, expires time.Duration) error
- func (c MemcachedCache) Decrement(key string, delta uint64) (newValue uint64, err error)
- func (c MemcachedCache) Delete(key string) error
- func (c MemcachedCache) Flush() error
- func (c MemcachedCache) Get(key string, ptrValue interface{}) error
- func (c MemcachedCache) GetMulti(keys ...string) (Getter, error)
- func (c MemcachedCache) Increment(key string, delta uint64) (newValue uint64, err error)
- func (c MemcachedCache) Replace(key string, value interface{}, expires time.Duration) error
- func (c MemcachedCache) Set(key string, value interface{}, expires time.Duration) error
- type RedisCache
- func (c RedisCache) Add(key string, value interface{}, expires time.Duration) error
- func (c RedisCache) Decrement(key string, delta uint64) (newValue uint64, err error)
- func (c RedisCache) Delete(key string) error
- func (c RedisCache) Flush() error
- func (c RedisCache) Get(key string, ptrValue interface{}) error
- func (c RedisCache) GetMulti(keys ...string) (Getter, error)
- func (c RedisCache) Increment(key string, delta uint64) (uint64, error)
- func (c RedisCache) Replace(key string, value interface{}, expires time.Duration) error
- func (c RedisCache) Set(key string, value interface{}, expires time.Duration) error
- type RedisItemMapGetter
- type Transport
Constants ¶
View Source
const ( DEFAULT = time.Duration(0) FOREVER = time.Duration(-1) )
Length of time to cache an item.
View Source
const ( CacheHeader = "X-Templar-Cache" CacheTimeHeader = "X-Templar-CacheFor" )
Variables ¶
Functions ¶
func Deserialize ¶
Deserialize transforms bytes produced by Serialize back into a Go object, storing it into "ptr", which must be a pointer to the value type.
Types ¶
type Cache ¶
type Cache interface { // The Cache implements a Getter. Getter // Set the given key/value in the cache, overwriting any existing value // associated with that key. Keys may be at most 250 bytes in length. // // Returns: // - nil on success // - an implementation specific error otherwise Set(key string, value interface{}, expires time.Duration) error // Get the content associated multiple keys at once. On success, the caller // may decode the values one at a time from the returned Getter. // // Returns: // - the value getter, and a nil error if the operation completed. // - an implementation specific error otherwise GetMulti(keys ...string) (Getter, error) // Delete the given key from the cache. // // Returns: // - nil on a successful delete // - ErrCacheMiss if the value was not in the cache // - an implementation specific error otherwise Delete(key string) error // Add the given key/value to the cache ONLY IF the key does not already exist. // // Returns: // - nil if the value was added to the cache // - ErrNotStored if the key was already present in the cache // - an implementation-specific error otherwise Add(key string, value interface{}, expires time.Duration) error // Set the given key/value in the cache ONLY IF the key already exists. // // Returns: // - nil if the value was replaced // - ErrNotStored if the key does not exist in the cache // - an implementation specific error otherwise Replace(key string, value interface{}, expires time.Duration) error // Increment the value stored at the given key by the given amount. // The value silently wraps around upon exceeding the uint64 range. // // Returns the new counter value if the operation was successful, or: // - ErrCacheMiss if the key was not found in the cache // - an implementation specific error otherwise Increment(key string, n uint64) (newValue uint64, err error) // Decrement the value stored at the given key by the given amount. // The value is capped at 0 on underflow, with no error returned. // // Returns the new counter value if the operation was successful, or: // - ErrCacheMiss if the key was not found in the cache // - an implementation specific error otherwise Decrement(key string, n uint64) (newValue uint64, err error) // Expire all cache entries immediately. // This is not implemented for the memcached cache (intentionally). // Returns an implementation specific error if the operation failed. Flush() error }
type Getter ¶
type Getter interface { // Get the content associated with the given key. decoding it into the given // pointer. // // Returns: // - nil if the value was successfully retrieved and ptrValue set // - ErrCacheMiss if the value was not in the cache // - an implementation specific error otherwise Get(key string, ptrValue interface{}) error }
Getter is an interface for getting / decoding an element from a cache.
type GroupCacheCache ¶
type GroupCacheCache struct {
// contains filtered or unexported fields
}
func NewGroupCacheCache ¶
type InMemoryCache ¶
type InMemoryCache struct {
cache.Cache
}
func NewInMemoryCache ¶
func NewInMemoryCache(defaultExpiration time.Duration) InMemoryCache
func (InMemoryCache) Add ¶
func (c InMemoryCache) Add(key string, value interface{}, expires time.Duration) error
func (InMemoryCache) Decrement ¶
func (c InMemoryCache) Decrement(key string, n uint64) (newValue uint64, err error)
func (InMemoryCache) Delete ¶
func (c InMemoryCache) Delete(key string) error
func (InMemoryCache) Flush ¶
func (c InMemoryCache) Flush() error
func (InMemoryCache) Get ¶
func (c InMemoryCache) Get(key string, ptrValue interface{}) error
func (InMemoryCache) Increment ¶
func (c InMemoryCache) Increment(key string, n uint64) (newValue uint64, err error)
type ItemMapGetter ¶
Implement a Getter on top of the returned item map.
func (ItemMapGetter) Get ¶
func (g ItemMapGetter) Get(key string, ptrValue interface{}) error
type MemcachedCache ¶
Wraps the Memcached client to meet the Cache interface.
func NewMemcachedCache ¶
func NewMemcachedCache(hostList []string, defaultExpiration time.Duration) MemcachedCache
func (MemcachedCache) Add ¶
func (c MemcachedCache) Add(key string, value interface{}, expires time.Duration) error
func (MemcachedCache) Decrement ¶
func (c MemcachedCache) Decrement(key string, delta uint64) (newValue uint64, err error)
func (MemcachedCache) Delete ¶
func (c MemcachedCache) Delete(key string) error
func (MemcachedCache) Flush ¶
func (c MemcachedCache) Flush() error
func (MemcachedCache) Get ¶
func (c MemcachedCache) Get(key string, ptrValue interface{}) error
func (MemcachedCache) Increment ¶
func (c MemcachedCache) Increment(key string, delta uint64) (newValue uint64, err error)
type RedisCache ¶
type RedisCache struct {
// contains filtered or unexported fields
}
Wraps the Redis client to meet the Cache interface.
func NewRedisCache ¶
func NewRedisCache(host string, password string, defaultExpiration time.Duration) RedisCache
until redigo supports sharding/clustering, only one host will be in hostList
func (RedisCache) Add ¶
func (c RedisCache) Add(key string, value interface{}, expires time.Duration) error
func (RedisCache) Decrement ¶
func (c RedisCache) Decrement(key string, delta uint64) (newValue uint64, err error)
func (RedisCache) Delete ¶
func (c RedisCache) Delete(key string) error
func (RedisCache) Flush ¶
func (c RedisCache) Flush() error
func (RedisCache) Get ¶
func (c RedisCache) Get(key string, ptrValue interface{}) error
func (RedisCache) Increment ¶
func (c RedisCache) Increment(key string, delta uint64) (uint64, error)
type RedisItemMapGetter ¶
Implement a Getter on top of the returned item map.
func (RedisItemMapGetter) Get ¶
func (g RedisItemMapGetter) Get(key string, ptrValue interface{}) error
Click to show internal directories.
Click to hide internal directories.