TCache is a transactional cache with configurable persitence. It allows conventional STM transactions for objects that syncronize with their user-defined storages. State in memory and into permanent storage is transactionally coherent.
It has interface defined for Amazon WS and Yesod Persistent backends defined in tcache-backend packages. Persistent is a multi-backend interface for SQL and non SQL databases such in Mongo-db
The package implements serializable STM references, access by key and by record field value, triggers, full text and field indexation, default serialization and a query language based on record fields
Since the STM references can be included in data structures and serialized, this is right for graph databases and other NoSQL databases.
12.0 space in index data in indexQuery.hs and IndexText.hs triggered errors in the AWS backend. The space has been changed by
-. So rename the "index *" files in the TCache folder in order to be recognized.
11.0.0 added setIndexParsist to define persistence for indexes by type. started the addition of readDBRefs, readResources and so on for simultaneous read, writes and deletes of objects of the same type.
10.2.0 Added setDefaultPersist and modified the signature of setPersist in Data.TCache.DefaultPersistence. Fixed issues with ghc 7.6.3
10 version add memoization and a persistent and transactional collection/queue.
10.0.8 subversion add cachedByKeySTM
10.0.9 fixed an error in clearSyncChacheProc and SynWrite Asyncronous that checked the cache continuously
Data.TCache for details
In this release:
Dropped Data.Hashtable (deprecated). Now it uses the package hashtables