Description: Zero downtime restarts for golang HTTP and HTTPS servers. (for golang 1.3+)
Similar to graceful but have a fetcher to fetch the updated binary to "upgrade" itself.
Golang-LRU
Description: This provides the lru package which implements a fixed-size thread safe LRU cache. It is based on the cache in Groupcache.
A map + a doubly LinkedList is the best way to implement LRU cache.
In Golang, it's map[interface{}]*list.Element + container/list.List:
// LRU implements a non-thread safe fixed size LRU cache
type LRU struct {
size int
evictList *list.List
items map[interface{}]*list.Element
onEvict EvictCallback
}
// entry is used to hold a value in the evictList
type entry struct {
key interface{}
value interface{}
}