Is there a caching solution which works with C++, .Net and Java all accessing and populating same data in cache? (Data is composed of simple strings only)
Longer version:
I have 4 applications which work on different areas of a problem. Two of them are developed in C++, one is a java desktop application, and another is a C# application using .Net 3.5.
Currently they get data individually in their own special ways from same source (a web-service). Programs use this data and instantiate and populate other data structures (read: simple strings using separators) which are also used by other applications.
Currently it is done through (local/remote) sockets between individual programs. The problem is that, the consumer of a specific information caches the results provided by another program for later use in its own memory. The producer also stores it in its own memory to give to another program if it requires, and so on and so on, and in the end I end up with same information copied in every program's memory.
I'm thinking if there is a middle layer of, say a cache, and every program populated and accessed the data in that cache, it'd solve memory issue. Also it'd solve the problem of every application making queries to data source for same data. I'd then have one program populating input data and others working on it. Is there any caching solution which solves this?