mirror of
https://github.com/minio/minio.git
synced 2025-11-22 10:37:42 -05:00
Improve caching (#19130)
* Remove lock for cached operations. * Rename "Relax" to `ReturnLastGood`. * Add `CacheError` to allow caching values even on errors. * Add NoWait that will return current value with async fetching if within 2xTTL. * Make benchmark somewhat representative. ``` Before: BenchmarkCache-12 16408370 63.12 ns/op 0 B/op After: BenchmarkCache-12 428282187 2.789 ns/op 0 B/op ``` * Remove `storageRESTClient.scanning`. Nonsensical - RPC clients will not have any idea about scanning. * Always fetch remote diskinfo metrics and cache them. Seems most calls are requesting metrics. * Do async fetching of usage caches.
This commit is contained in:
@@ -51,7 +51,7 @@ func TestCache(t *testing.T) {
|
||||
func BenchmarkCache(b *testing.B) {
|
||||
cache := New[time.Time]()
|
||||
cache.Once.Do(func() {
|
||||
cache.TTL = 1 * time.Microsecond
|
||||
cache.TTL = 1 * time.Millisecond
|
||||
cache.Update = func() (time.Time, error) {
|
||||
return time.Now(), nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user