cache

package
v0.21.0 Latest Latest
Warning

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

Go to latest
Published: May 13, 2022 License: AGPL-3.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// DefaultAccessBoxCacheSize is a default maximum number of entries in cache.
	DefaultAccessBoxCacheSize = 100
	// DefaultAccessBoxCacheLifetime is a default lifetime of entries in cache.
	DefaultAccessBoxCacheLifetime = 10 * time.Minute
)
View Source
const (
	// DefaultBucketCacheSize is a default maximum number of entries in cache.
	DefaultBucketCacheSize = 1e3
	// DefaultBucketCacheLifetime is a default lifetime of entries in cache.
	DefaultBucketCacheLifetime = time.Minute
)
View Source
const (
	// DefaultObjectsNameCacheSize is a default maximum number of entries in cache.
	DefaultObjectsNameCacheSize = 1e4
	// DefaultObjectsNameCacheLifetime is a default lifetime of entries in cache.
	DefaultObjectsNameCacheLifetime = time.Minute
)
View Source
const (
	// DefaultObjectsCacheLifetime is a default lifetime of entries in objects' cache.
	DefaultObjectsCacheLifetime = time.Minute * 5
	// DefaultObjectsCacheSize is a default maximum number of entries in objects' cache.
	DefaultObjectsCacheSize = 1e6
)
View Source
const (
	// DefaultObjectsListCacheLifetime is a default lifetime of entries in cache of ListObjects.
	DefaultObjectsListCacheLifetime = time.Second * 60
	// DefaultObjectsListCacheSize is a default size of cache of ListObjects.
	DefaultObjectsListCacheSize = 1e5
)
View Source
const (
	// DefaultSystemCacheSize is a default maximum number of entries in cache.
	DefaultSystemCacheSize = 1e4
	// DefaultSystemCacheLifetime is a default lifetime of entries in cache.
	DefaultSystemCacheLifetime = 5 * time.Minute
)

Variables

This section is empty.

Functions

This section is empty.

Types

type AccessBoxCache

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

AccessBoxCache stores an access box by its address.

func NewAccessBoxCache

func NewAccessBoxCache(config *Config) *AccessBoxCache

NewAccessBoxCache creates an object of BucketCache.

func (*AccessBoxCache) Get

func (o *AccessBoxCache) Get(address *address.Address) *accessbox.Box

Get returns a cached object.

func (*AccessBoxCache) Put

func (o *AccessBoxCache) Put(address *address.Address, box *accessbox.Box) error

Put stores an object to cache.

type BucketCache

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

BucketCache contains cache with objects and the lifetime of cache entries.

func NewBucketCache

func NewBucketCache(config *Config) *BucketCache

NewBucketCache creates an object of BucketCache.

func (*BucketCache) Delete

func (o *BucketCache) Delete(key string) bool

Delete deletes an object from cache.

func (*BucketCache) Get

func (o *BucketCache) Get(key string) *data.BucketInfo

Get returns a cached object.

func (*BucketCache) Put

func (o *BucketCache) Put(bkt *data.BucketInfo) error

Put puts an object to cache.

type Config

type Config struct {
	Size     int
	Lifetime time.Duration
}

Config stores expiration params for cache.

func DefaultAccessBoxConfig

func DefaultAccessBoxConfig() *Config

DefaultAccessBoxConfig returns new default cache expiration values.

func DefaultBucketConfig

func DefaultBucketConfig() *Config

DefaultBucketConfig returns new default cache expiration values.

func DefaultObjectsConfig

func DefaultObjectsConfig() *Config

DefaultObjectsConfig returns new default cache expiration values.

func DefaultObjectsListConfig

func DefaultObjectsListConfig() *Config

DefaultObjectsListConfig returns new default cache expiration values.

func DefaultObjectsNameConfig

func DefaultObjectsNameConfig() *Config

DefaultObjectsNameConfig returns new default cache expiration values.

func DefaultSystemConfig

func DefaultSystemConfig() *Config

DefaultSystemConfig returns new default cache expiration values.

type ObjectsCache

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

ObjectsCache provides lru cache for objects.

func New

func New(config *Config) *ObjectsCache

New creates an object of ObjectHeadersCache.

func (*ObjectsCache) Delete

func (o *ObjectsCache) Delete(address *address.Address) bool

Delete deletes an object from cache.

func (*ObjectsCache) Get

func (o *ObjectsCache) Get(address *address.Address) *object.Object

Get returns a cached object.

func (*ObjectsCache) Put

func (o *ObjectsCache) Put(obj object.Object) error

Put puts an object to cache.

type ObjectsListCache

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

ObjectsListCache contains cache for ListObjects and ListObjectVersions.

func NewObjectsListCache

func NewObjectsListCache(config *Config) *ObjectsListCache

NewObjectsListCache is a constructor which creates an object of ListObjectsCache with the given lifetime of entries.

func (*ObjectsListCache) CleanCacheEntriesContainingObject

func (l *ObjectsListCache) CleanCacheEntriesContainingObject(objectName string, cid *cid.ID)

CleanCacheEntriesContainingObject deletes entries containing specified object.

func (*ObjectsListCache) Get

func (l *ObjectsListCache) Get(key ObjectsListKey) []oid.ID

Get returns a list of ObjectInfo.

func (*ObjectsListCache) Put

func (l *ObjectsListCache) Put(key ObjectsListKey, oids []oid.ID) error

Put puts a list of objects to cache.

type ObjectsListKey

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

ObjectsListKey is a key to find a ObjectsListCache's entry.

func CreateObjectsListCacheKey

func CreateObjectsListCacheKey(cid *cid.ID, prefix string) ObjectsListKey

CreateObjectsListCacheKey returns ObjectsListKey with the given CID and prefix.

type ObjectsNameCache

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

ObjectsNameCache provides lru cache for objects. This cache contains mapping nice names to object addresses. Key is bucketName+objectName.

func NewObjectsNameCache

func NewObjectsNameCache(config *Config) *ObjectsNameCache

NewObjectsNameCache creates an object of ObjectsNameCache.

func (*ObjectsNameCache) Delete

func (o *ObjectsNameCache) Delete(key string) bool

Delete deletes an object from cache.

func (*ObjectsNameCache) Get

func (o *ObjectsNameCache) Get(key string) *address.Address

Get returns a cached object.

func (*ObjectsNameCache) Put

func (o *ObjectsNameCache) Put(key string, address *address.Address) error

Put puts an object to cache.

type SystemCache

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

SystemCache provides lru cache for objects. This cache contains "system" objects (bucket versioning settings, tagging object etc.). Key is bucketName+systemFileName.

func NewSystemCache

func NewSystemCache(config *Config) *SystemCache

NewSystemCache creates an object of SystemCache.

func (*SystemCache) Delete

func (o *SystemCache) Delete(key string) bool

Delete deletes an object from cache.

func (*SystemCache) GetCORS added in v0.18.0

func (o *SystemCache) GetCORS(key string) *data.CORSConfiguration

func (*SystemCache) GetNotificationConfiguration added in v0.19.0

func (o *SystemCache) GetNotificationConfiguration(key string) *data.NotificationConfiguration

func (*SystemCache) GetObject added in v0.18.0

func (o *SystemCache) GetObject(key string) *data.ObjectInfo

GetObject returns a cached object.

func (*SystemCache) GetSettings added in v0.20.0

func (o *SystemCache) GetSettings(key string) *data.BucketSettings

func (*SystemCache) PutCORS added in v0.18.0

func (o *SystemCache) PutCORS(key string, obj *data.CORSConfiguration) error

func (*SystemCache) PutNotificationConfiguration added in v0.19.0

func (o *SystemCache) PutNotificationConfiguration(key string, obj *data.NotificationConfiguration) error

func (*SystemCache) PutObject added in v0.18.0

func (o *SystemCache) PutObject(key string, obj *data.ObjectInfo) error

PutObject puts an object to cache.

func (*SystemCache) PutSettings added in v0.20.0

func (o *SystemCache) PutSettings(key string, settings *data.BucketSettings) error

Jump to

Keyboard shortcuts

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