Versions in this module Expand all Collapse all v2 v2.1.0 Feb 18, 2026 v2.0.0 Feb 17, 2026 Changes in this version + const ServiceCache + const ServiceCacheBackend + const ServiceCacheSerializer + func CacheBackendMustFromContainer(serviceContainer containercontract.Container) cachecontract.Backend + func CacheBackendMustFromResolver(resolver containercontract.Resolver) cachecontract.Backend + func CacheMustFromContainer(serviceContainer containercontract.Container) cachecontract.Cache + func CacheMustFromResolver(resolver containercontract.Resolver) cachecontract.Cache + func CacheSerializerMustFromContainer(serviceContainer containercontract.Container) cachecontract.Serializer + func CacheSerializerMustFromResolver(resolver containercontract.Resolver) cachecontract.Serializer + func NewJsonSerializer() cachecontract.Serializer + func Remember(cacheInstance cachecontract.Cache, key string, ttl time.Duration, ...) (any, error) + type InMemoryBackend struct + func NewInMemoryBackend(maxItems int, cleanupInterval time.Duration, clockInstance clockcontract.Clock) *InMemoryBackend + func (instance *InMemoryBackend) Clear() error + func (instance *InMemoryBackend) Close() error + func (instance *InMemoryBackend) Decrement(key string, delta int64) (int64, error) + func (instance *InMemoryBackend) Delete(key string) error + func (instance *InMemoryBackend) DeleteMultiple(keys []string) error + func (instance *InMemoryBackend) Get(key string) ([]byte, bool, error) + func (instance *InMemoryBackend) Has(key string) (bool, error) + func (instance *InMemoryBackend) Increment(key string, delta int64) (int64, error) + func (instance *InMemoryBackend) Many(keys []string) (map[string][]byte, error) + func (instance *InMemoryBackend) Set(key string, payload []byte, ttl time.Duration) error + func (instance *InMemoryBackend) SetMultiple(items map[string][]byte, ttl time.Duration) error + type Item struct + func NewItem(key string, payload []byte, createdAt time.Time, expiresAt *time.Time) *Item + func (instance *Item) CreatedAt() time.Time + func (instance *Item) ExpiresAt() *time.Time + func (instance *Item) HitCount() uint64 + func (instance *Item) Key() string + func (instance *Item) LastAccessedAt() time.Time + func (instance *Item) Payload() []byte + func (instance *Item) Touch(accessTime time.Time) + type JsonSerializer struct + func (instance *JsonSerializer) Deserialize(payload []byte) (any, error) + func (instance *JsonSerializer) Serialize(value any) ([]byte, error) + type Manager struct + func NewManager(backend cachecontract.Backend, serializer cachecontract.Serializer) *Manager + func (instance *Manager) Clear() error + func (instance *Manager) Close() error + func (instance *Manager) Decrement(key string, delta int64) (int64, error) + func (instance *Manager) Delete(key string) error + func (instance *Manager) DeleteMultiple(keys []string) error + func (instance *Manager) Get(key string) (any, bool, error) + func (instance *Manager) Has(key string) (bool, error) + func (instance *Manager) Increment(key string, delta int64) (int64, error) + func (instance *Manager) Many(keys []string) (map[string]any, error) + func (instance *Manager) Set(key string, value any, ttl time.Duration) error + func (instance *Manager) SetMultiple(items map[string]any, ttl time.Duration) error + type RememberOption struct + func NewDefaultRememberOption() *RememberOption + func (instance *RememberOption) EnableStampedeProtection() bool + func (instance *RememberOption) IsCancelable() bool + func (instance *RememberOption) WaitTimeout() time.Duration + func (instance *RememberOption) WithCancelable(isCancelable bool) *RememberOption + func (instance *RememberOption) WithStampedeProtectionEnabled(enableStampedeProtection bool) *RememberOption + func (instance *RememberOption) WithWaitTimeout(waitTimeout time.Duration) *RememberOption Other modules containing this package github.com/precision-soft/melody