summaryrefslogtreecommitdiff
path: root/vendor/codeberg.org/gruf/go-cache/v3/README.md
diff options
context:
space:
mode:
authorLibravatar kim <89579420+NyaaaWhatsUpDoc@users.noreply.github.com>2022-11-15 18:45:15 +0000
committerLibravatar GitHub <noreply@github.com>2022-11-15 18:45:15 +0000
commit8598dea98b872647393117704659878d9b38d4fc (patch)
tree1940168912dc7f54af723439dbc9f6e0a42f30ae /vendor/codeberg.org/gruf/go-cache/v3/README.md
parent[docs] Both HTTP proxies and NAT can cause rate limiting issues (#1053) (diff)
downloadgotosocial-8598dea98b872647393117704659878d9b38d4fc.tar.xz
[chore] update database caching library (#1040)
* 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
Diffstat (limited to 'vendor/codeberg.org/gruf/go-cache/v3/README.md')
-rw-r--r--vendor/codeberg.org/gruf/go-cache/v3/README.md17
1 files changed, 17 insertions, 0 deletions
diff --git a/vendor/codeberg.org/gruf/go-cache/v3/README.md b/vendor/codeberg.org/gruf/go-cache/v3/README.md
new file mode 100644
index 000000000..43004f3d8
--- /dev/null
+++ b/vendor/codeberg.org/gruf/go-cache/v3/README.md
@@ -0,0 +1,17 @@
+# 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. \ No newline at end of file