GoToSocial/vendor/codeberg.org/gruf/go-cache/v3
kim 2b7c815ed6
[bugfix] update go-cache to v3.3.3 (#1778)
* update go-cache to v3.3.1

Signed-off-by: kim <grufwub@gmail.com>

* bump go-cache again

Signed-off-by: kim <grufwub@gmail.com>

* remove accidentally comitted build-script changes

Signed-off-by: kim <grufwub@gmail.com>

* now v3.3.3 ...

Signed-off-by: kim <grufwub@gmail.com>

---------

Signed-off-by: kim <grufwub@gmail.com>
2023-05-14 15:17:03 +02:00
..
result [bugfix] update go-cache to v3.3.3 (#1778) 2023-05-14 15:17:03 +02:00
ttl [bugfix] update go-cache to v3.3.3 (#1778) 2023-05-14 15:17:03 +02:00
LICENSE [feature] Read + Write tombstones for deleted Actors (#1005) 2022-11-11 12:18:38 +01:00
README.md [chore] update database caching library (#1040) 2022-11-15 18:45:15 +00:00
cache.go [bugfix] update go-cache to v3.3.3 (#1778) 2023-05-14 15:17:03 +02:00

README.md

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.