Projects / SynCache

SynCache

SynCache::Cache stores cached objects in a Hash that is protected by an advanced two-level locking mechanism. Two-level locking ensures that: Multiple threads can add and fetch objects in parallel without stepping on each otherís toes; while one thread is working on a cache entry, other threads can access the rest of the cache with no waiting on the global lock, race conditions, or deadlock or livelock situations; and while one thread is performing a long and resource-intensive operation, other threads that request the same data with #fetch_or_add method will be put on hold, and as soon as the first thread completes the operation, the result will be returned to all threads. Without this feature, a steady stream of requests with less time between them than it takes to complete one request can easily bury a server under an avalanche of threads all wasting resources on the same expensive operation.

Tags
Licenses
Implementation
Screenshot

Project Spotlight

OpenStack4j

A Fluent OpenStack client API for Java.

Screenshot

Project Spotlight

TurnKey TWiki Appliance

A TWiki appliance that is easy to use and lightweight.