e071084ebe
govulncheck / govulncheck (push) Has been cancelled
Lint / golangci-lint (push) Has been cancelled
Run Tests / Unit Tests (push) Has been cancelled
Run Tests / Etcd Integration Tests (push) Has been cancelled
Harness (E2E) / Harnesses (mock LLM) (push) Has been cancelled
Harness (E2E) / Provider harnesses (live LLM conformance) (push) Has been cancelled
30 lines
593 B
Go
30 lines
593 B
Go
package cache
|
|
|
|
import (
|
|
"time"
|
|
|
|
"go-micro.dev/v6/logger"
|
|
)
|
|
|
|
// WithTTL sets the cache TTL.
|
|
func WithTTL(t time.Duration) Option {
|
|
return func(o *Options) {
|
|
o.TTL = t
|
|
}
|
|
}
|
|
|
|
// WithLogger sets the underline logger.
|
|
func WithLogger(l logger.Logger) Option {
|
|
return func(o *Options) {
|
|
o.Logger = l
|
|
}
|
|
}
|
|
|
|
// WithMinimumRetryInterval sets the minimum retry interval for failed lookups.
|
|
// This prevents cache penetration when registry is failing and there's no stale cache.
|
|
func WithMinimumRetryInterval(d time.Duration) Option {
|
|
return func(o *Options) {
|
|
o.MinimumRetryInterval = d
|
|
}
|
|
}
|