mirror of
https://github.com/superseriousbusiness/gotosocial.git
synced 2024-07-06 13:55:46 +00:00
* convert most of the caches to use result.Cache{} * add caching of emojis * fix issues causing failing tests * update go-cache/v2 instances with v3 * fix getnotification * add a note about the left-in StatusCreate comment * update EmojiCategory db access to use new result.Cache{} * fix possible panic in getstatusparents * further proof that kim is not stinky
17 lines
945 B
Markdown
17 lines
945 B
Markdown
# go-cache
|
|
|
|
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{}`.
|
|
|
|
## ttl
|
|
|
|
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.
|
|
|
|
## lookup
|
|
|
|
`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.
|
|
|
|
## 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. |