summaryrefslogtreecommitdiff
path: root/vendor/codeberg.org/gruf/go-cache/v3/README.md
blob: eb298bea4d0d18b90a0834ce39d1374dbe6f1044 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# go-cache

Provides access to simple, yet flexible, and performant caches (with TTL if required) via the `cache.Cache{}` and `cache.TTLCache{}` interfaces.

## simple

A `cache.Cache{}` implementation with much more of the inner workings exposed. Designed to be used as a base for your own customizations, or used as-is.

## ttl

A `cache.TTLCache{}` implementation with much more of the inner workings exposed. Designed to be used as a base for your own customizations, or used as-is.

## result

`result.Cache` is an example of a more complex cache implementation using `ttl.Cache{}` as its underpinning.

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.