Have a look at, also in Go written, https://github.com/dgraph-io/ristretto which out performs bigcache and freecache (see the colourful graphics)
(author of Ristretto here) Yeah, I'm surprised not enough people here are talking about Ristretto. It was actually designed with knowledge of the existing Go caches, to deal with their limitations -- based on multiple papers and Caffeine [1], popular in Java world. In particular, achieving higher hit ratios while avoiding contention caused by heavy concurrent access.
This is worth a read: https://blog.dgraph.io/post/introducing-ristretto-high-perf-...