Bug#1032527: ITP: golang-github-bep-lazycache -- Thread-safe in-memory LRU cache with non-blocking cache priming on cache misses (Go library)
Owner: Anthony Fok <email@example.com>
* Package name : golang-github-bep-lazycache
Version : 0.2.0-1
Upstream Author : Bjørn Erik Pedersen
* URL : https://github.com/bep/lazycache
* License : Expat
Programming Lang: Go
Description : Thread-safe in-memory LRU cache with non-blocking cache priming on cache misses (Go library)
Lazycache is a simple thread safe in-memory LRU cache. Under the hood
it leverages the great simpleru package in golang-lru, with its exellent
performance. One big difference between golang-lru and this library is
the GetOrCreate method, which provides:
* Non-blocking cache priming on cache misses.
* A guarantee that the prime function is only called once for a given key.
* The cache's RWMutex is not locked during the execution of the prime
function, which should make it easier to reason about potential deadlocks.
Other notable features:
* The API is generic
* The cache can be resized while running.
* When the number of entries overflows the defined cache size, the
least recently used item gets discarded (LRU).
Reason for packaging: Needed by hugo (>= 0.111.0)