Syncache
Syncache
http://samizdat.nongnu.org/
Thread-safe time-limited cache for Ruby
SynCache stores cached objects in a Hash that is protected by an advanced two-level locking mechanism which ensures that:
- Multiple threads can add and fetch objects in parallel. *
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 will be put on hold, and as soon as the first thread completes the operation, the result will be returned to all threads.
This package provides SynCache module for Ruby and a DRb server that exports a SynCache::Cache object for use in Ruby programs.
Licensing
License
Verified by
Verified on
Notes
License
Verified by
Debian: Dmitry Borodaenko <angdraug@debian.org>
Verified on
25 December 2011
Notes
License: gpl-3+
Leaders and contributors
Resources and communication
Audience | Resource type | URI |
---|---|---|
Download | http://samizdat.nongnu.org/ | |
Debian (Ref) | https://tracker.debian.org/pkg/syncache | |
Python (Ref) | https://pypi.org/project/syncache | |
Ruby (Ref) | https://rubygems.org/gems/syncache |
Software prerequisites
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the page “GNU Free Documentation License”.
The copyright and license notices on this page only apply to the text on this page. Any software or copyright-licenses or other similar notices described in this text has its own copyright notice and license, which can usually be found in the distribution or license text itself.