* Add k8s.io/client-go/tools/cache package * Add cache controller * Add pod creator and terminator * Pod Synchronizer * Clean up * Add back reconcile * Remove unnecessary space in log * Incorprate feedbacks * dep ensure * Fix the syntax error * Fix the merge errors * Minor Refactor * Set status * Pass context together with the pod to the pod channel * Change to use flag to specify the number of pod sync workers * Remove the unused const * Use Stable PROD Region WestUS in Test EastUS2EUAP is not reliable
22 lines
948 B
Go
22 lines
948 B
Go
// Package lru provides three different LRU caches of varying sophistication.
|
|
//
|
|
// Cache is a simple LRU cache. It is based on the
|
|
// LRU implementation in groupcache:
|
|
// https://github.com/golang/groupcache/tree/master/lru
|
|
//
|
|
// TwoQueueCache tracks frequently used and recently used entries separately.
|
|
// This avoids a burst of accesses from taking out frequently used entries,
|
|
// at the cost of about 2x computational overhead and some extra bookkeeping.
|
|
//
|
|
// ARCCache is an adaptive replacement cache. It tracks recent evictions as
|
|
// well as recent usage in both the frequent and recent caches. Its
|
|
// computational overhead is comparable to TwoQueueCache, but the memory
|
|
// overhead is linear with the size of the cache.
|
|
//
|
|
// ARC has been patented by IBM, so do not use it if that is problematic for
|
|
// your program.
|
|
//
|
|
// All caches in this package take locks while operating, and are therefore
|
|
// thread-safe for consumers.
|
|
package lru
|