RCache is a simple Java objects cache based in weak references.
With this library, a programmer can maintain an in-memory map of arbitrary object instance references. RCache helps the programmer to:
RCache first prototype was designed as a possible solution to a performance problem in a web-service based file server.
The initial goal was to prevent concurrent access to the same file and directory metadata attributes (permissions, aliases, descriptions) through multiple instances.
These metadata attributes were stored in (hidden) files, so there was no transactional mechanisms in place. Obviously, the server had important scalability issues.
A weak reference based cache was one possible workaround to the problem. By ensuring that only one instance exists for a single file, transactionality becomes a simple synchronisation subject.
What is more, caching instances reduced the number of instantiations, increasing the server performance in several orders of magnitude. This performance boost was not surprising, for each Metadata instance had to read several files during its initialisation.
RCache has little, if nothing to do with that first implementation. It has been redesigned from the beginning for general use, and some helper classes have been added to make the developer's life easier.
The priorities for this project will be:
Said this, the roadmap for the 1.0 release is as follows:
Last, but not least, if you think this project can help you, please, let me know.