If you have large amount of data in the correct format, then you can consider a large in process off-heap cache. Apache and Terracotta (the current owners of EHCache) has a free version. Off-Heap caches can be extremely large (100+ GB), because their contents are exempt from GC.
On the other hand, if you have data that is aggregated from multiple source or requires significant processing, then a NoSQL solution can be useful. However you should be aware what you are doing.
First you need to understand what type of NoSQL solutions, might be optimal for your purposes. A few thing to consider: CAP, supported data models, replication, scalability, consistency, read or write path optimised, in memory / distributed, data center support.
Second you need to understand the differences in data modelling compared to traditional SQL solution. Without this knowledge you will introduce performance and consistency problems that will eventually "kill" your application, if you are lucky (Distributed NoSQL solutions tend to like denormalised and redundant data representation. While SQL works best with normalised data). By the way forget about Joins and Transactions.
Third make sure you have enough time to investigate and test the available solutions and gain experience with them. Preferably using examples from the problem domain you are trying to solve.
A few useful links to get you started:
An advice, if you want "experience" and "adventure" then go with MongoDB. It maybe considered heresy here, but Spring Data and Spring Cache, or any other magical wrapper/abstraction layer/solution, may not be a best idea in the long run.