Я предлагаю использовать imcache и загружать необходимые элементы с диска с помощью загрузчика кэша следующим образом,
Cache<String,Object> yourCache = CacheBuilder.
concurrentHeapCache().cacheLoader(new CacheLoader<String, Object>() {
public Object load(String key) {
//code to load item from file.
}
}).build();