The TCache package

[Tags: bsd3, library]

Data.Tcache is a transactional cache with configurable persistence. It tries to simulate Hibernate for Java or Rails for Ruby. The main difference is that transactions are done in memory trough STM. There are transactional cache implementations for some J2EE servers like JBOSS.

TCache uses STM. It can atomically apply a function to a list of cached objects. The resulting objects go back to the cache (withResources). It also can retrieve these objects (getResources). Persistence can be syncronous (syncCache) or asyncronous, wtih configurable time between cache writes and configurable cache clearance strategy. the size of the cache can be configured too . All of this can be done trough clearSyncCacheProc. Even the TVar variables can be accessed directly (getTVar) to acceess all the semantic of atomic blocks while maintaining the persistence of the TVar updates.

Persistence can be defined for each object: Each object must have a defined key, a default filename path (if applicable). Persistence is pre-defined in files, but the readResource writeResource and delResource methods can be redefined to persist in databases or whatever.

Serialization is also configurable.

There are Samples here that explain the main features.

In this release

It is not possible tu mix TVars and TMVars packages in the same executable. However code that uses dynamic and non dynamic can can be mixed


Properties

Versions0.5, 0.5.1, 0.5.2, 0.5.3, 0.5.4, 0.5.5, 0.6.4, 0.6.5, 0.8.0, 0.8.0.1, 0.8.0.2, 0.9, 0.9.0.1, 0.9.0.2, 0.9.0.3, 0.9.0.4, 0.10.0.0, 0.10.0.1, 0.10.0.2, 0.10.0.3, 0.10.0.4, 0.10.0.5, 0.10.0.6, 0.10.0.8, 0.10.0.9, 0.10.0.10, 0.10.0.11, 0.10.0.12, 0.10.1.0, 0.10.2.0, 0.10.2.1, 0.10.2.2, 0.10.2.3, 0.10.2.4, 0.11.0.0, 0.12.0
Dependenciesbase (==3.*), containers (>=0.1.0.1), directory (>=1.0), old-time (>=1.0), RefSerialize (>=0.2.4), stm (>=2)
LicenseBSD3
AuthorAlberto Gómez Corona
Maintaineragocorona@gmail.com
CategoryMiddleware, Data, Database, Concurrency
Upload dateThu Sep 24 11:35:29 UTC 2009
Uploaded byAlbertoCorona
DistributionsNixOS:0.12.0
Downloads3245 total (370 in last 30 days)

Modules

[Index]

Downloads

Maintainers' corner

For package maintainers and hackage trustees