README.md (945B)
1 # go-cache 2 3 Provides access to a simple yet flexible, performant TTL cache via the `Cache{}` interface and `cache.New()`. Under the hood this is returning a `ttl.Cache{}`. 4 5 ## ttl 6 7 A TTL cache implementation with much of the inner workings exposed, designed to be used as a base for your own customizations, or used as-is. Access via the base package `cache.New()` is recommended in the latter case, to prevent accidental use of unsafe methods. 8 9 ## lookup 10 11 `lookup.Cache` is an example of a more complex cache implementation using `ttl.Cache{}` as its underpinning. It provides caching of items under multiple keys. 12 13 ## result 14 15 `result.Cache` is an example of a more complex cache implementation using `ttl.Cache{}` as its underpinning. 16 17 It provides caching specifically of loadable struct types, with automatic keying by multiple different field members and caching of negative (error) values. All useful when wrapping, for example, a database.