Caffeine's Approach

Preview

Even segmented locking serializes get(). Every cache read requires acquiring a lock just to move a node to the tail. For a read-heavy cache — which is the common case, since you cache things to read them — the list reordering in get() is the bottleneck, not the value lookup it...

Sign in to read the full chapter.

Checking access…