[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1032527: ITP: golang-github-bep-lazycache -- Thread-safe in-memory LRU cache with non-blocking cache priming on cache misses (Go library)



Package: wnpp
Severity: wishlist
Owner: Anthony Fok <foka@debian.org>

* 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)


Reply to: