RAA - syncache/1.2

syncache / 1.2

Short description: Advanced thread-safe object cache
Category: Library/Cache
Status: stable
Created: 2010-03-14 15:55:32 GMT
Last update: 2012-02-05 13:11:33 GMT
Owner: Dmitry Borodaenko (Projects of this owner)
Homepage: http://samizdat.nongnu.org/
Download: http://savannah.nongnu.org/download/samizdat/syncache-1.2.tar.gz
License: GPL
Dependency:
Requires: druby/2.0.4
Required by: graffiti/2.1
Description:

SynCache is a thread-safe time-limited cache with flexible replacement policy and ability to wrap generation of expensive cache entries in synchronized blocks. SynCache was used in the Samizdat open publishing engine since 2005, and now it's released as a stand-alone module ready for use in other applications.

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, no race conditions nor deadlock or livelock situations.

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.

Versions: [1.2 (2012-02-05)] [1.0 (2010-03-14)]

Edit this project (for project owner)

back to RAA top