Documentation
¶
Overview ¶
Package objcache implements in memory caching methods.
Index ¶
Constants ¶
This section is empty.
Variables ¶
var DefaultExpiry = time.Duration(72 * time.Hour) // 72hrs.
DefaultExpiry represents default time duration value when individual entries will be expired.
var ErrCacheFull = errors.New("Not enough space in cache")
ErrCacheFull - cache is full.
var ErrExcessData = errors.New("Attempted excess write on cache")
ErrExcessData - excess data was attempted to be written on cache.
var ErrKeyNotFoundInCache = errors.New("Key not found in cache")
ErrKeyNotFoundInCache - key not found in cache.
var NoExpiry = time.Duration(0)
NoExpiry represents caches to be permanent and can only be deleted.
Functions ¶
This section is empty.
Types ¶
type Cache ¶
type Cache struct { // OnEviction - callback function for eviction OnEviction func(key string) // contains filtered or unexported fields }
Cache holds the required variables to compose an in memory cache system which also provides expiring key mechanism and also maxSize.
func New ¶
New - Return a new cache with a given default expiry duration. If the expiry duration is less than one (or NoExpiry), the items in the cache never expire (by default), and must be deleted manually.
func (*Cache) Create ¶
Create - validates if object size fits with in cache size limit and returns a io.WriteCloser to which object contents can be written and finally Close()'d. During Close() we checks if the amount of data written is equal to the size of the object, in which case it saves the contents to object cache.