Categorygithub.com/go-pkgz/lcw/v2
modulepackage
2.0.0
Repository: https://github.com/go-pkgz/lcw.git
Documentation: pkg.go.dev

# Packages

Package eventbus provides PubSub interface used for distributed cache invalidation, as well as NopPubSub and RedisPubSub implementations.

# Functions

Flusher makes new FlusherRequest with empty scopes.
New parses uri and makes any of supported caches supported URIs: - redis://<ip>:<port>?db=123&max_keys=10 - mem://lru?max_keys=10&max_cache_size=1024 - mem://expirable?ttl=30s&max_val_size=100 - nop://.
NewExpirableCache makes expirable LoadingCache implementation, 1000 max keys by default and 5m TTL.
NewKey makes base key for given partition.
NewLruCache makes LRU LoadingCache implementation, 1000 max keys by default.
NewNopCache makes new do-nothing cache.
NewOpts creates a new WorkerOptions instance.
NewRedisCache makes Redis LoadingCache implementation.
NewScache creates Scache on top of LoadingCache.

# Constants

RedisValueSizeLimit is maximum allowed value size in Redis.

# Structs

CacheStat represent stats values.
ExpirableCache implements LoadingCache with TTL.
FlusherRequest used as input for cache.Flush.
Key for scoped cache.
LruCache wraps lru.LruCache with loading cache Get and size limits.
Nop is do-nothing implementation of LoadingCache.
RedisCache implements LoadingCache for Redis.
Scache wraps LoadingCache with partitions (sub-system), and scopes.
WorkerOptions holds the option setting methods.
No description provided by the author

# Interfaces

LoadingCache defines guava-like cache with Get method returning cached value ao retrieving it if not in cache.
Sizer allows to perform size-based restrictions, optional.

# Type aliases

Option func type.