A golang LRU Cache for high concurrency
Find a file
Karl Seguin 751266c34a Remove Value interface, cache now works against interface{} with the
expiry specified on a Set.

Get no longer returns expired items

Items can now be deleted
2013-10-30 20:18:51 +08:00
app first commit 2013-10-19 08:56:28 +08:00
bucket.go Remove Value interface, cache now works against interface{} with the 2013-10-30 20:18:51 +08:00
bucket_test.go Remove Value interface, cache now works against interface{} with the 2013-10-30 20:18:51 +08:00
cache.go Remove Value interface, cache now works against interface{} with the 2013-10-30 20:18:51 +08:00
configuration.go Remove Value interface, cache now works against interface{} with the 2013-10-30 20:18:51 +08:00
item.go Remove Value interface, cache now works against interface{} with the 2013-10-30 20:18:51 +08:00
item_test.go Remove Value interface, cache now works against interface{} with the 2013-10-30 20:18:51 +08:00
readme.md Remove Value interface, cache now works against interface{} with the 2013-10-30 20:18:51 +08:00

CCache

CCache is an LRU Cache, written in Go, focused on supporting high concurrency.

Lock contention on the list is reduced by:

  • Introducing a window which limits the frequency that an item can get promoted
  • Using a buffered channel to queue promotions for a single worker
  • Garbage collecting within the same thread as the worker