TCache-0.6.4: TCache.cabal
name: TCache
version: 0.6.4
synopsis: A Transactional data cache with configurable persistence
description:
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
.
* added withSTMResources. Most of the rest of the methods are derived from withSTMResources . the results are returned in the STM monad, so this method can be part of al larger STM transaction
It also can perforn used defined retries.
.
* added modules for cached TMVars
Data.TCache.TMVar and Data.TCache.TMVar.Dynamic uses TMVars instead of TVars (See Control.Concurrent.STM.TMVar)
.
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
.
* Data.TCache - cached TVars of object of type a.
.
* Data.TCache.Dynamic - cached TVars of objects of type IDynamic.
.
* Data.TCache.TMVar - cached TMVars of objects of type a.
.
* Data.TCache..TMVar.Dynamic - cached TMVars of objects of type IDynamic.
category: Middleware, Data, Database, Concurrency
license: BSD3
license-file: LICENSE
author: Alberto Gómez Corona
maintainer: agocorona@gmail.com
Tested-With: GHC == 6.8.2
Build-Type: Simple
build-Depends: base >=3 && <4,directory >= 1.0, old-time >=1.0,stm>=2, containers>=0.1.0.1, RefSerialize >= 0.2.4
Cabal-Version: >= 1.2
exposed-modules: Data.TCache, Data.TCache.IResource, Data.TCache.Dynamic, Data.TCache.TMVar, Data.TCache.TMVar.Dynamic, Data.TCache.IDynamic
ghc-options: -O2