We're in the process of building an internal, Java-based RESTful web services application that exposes domain-specific data in XML format. We want to supplement the architecture and improve performance by leveraging a cache store. We expect to host the cache on separate but collocated servers, and since the web services are Java/Grails, a Java or HTTP API to the cache would be ideal.

As requests come in, unique URI's and their responses would be cached using a simple key/value convention, for example...

```
KEY                                            VALUE
http://prod1/financials/reports/JAN/2007   --> XML response of 50Mb
http://prod1/legal/sow/9004                --> XML response of 250Kb

```

Response values for a single request can be quite large, perhaps up to 200Mb, but could be as small as 1Kb. And the number of requests per day is small; not more than 1000, but averaging 250; we don't have a large number of consumers; again, it's an internal app.

We started looking at MongoDB as a potential cache store, but given that MongoDB has a max document size of 8 or 16Mb, we did not feel it was the best fit.

Based on the limited details I provided, any suggestions on other types of stores that could be suitable in this situation?