Caches are usually just some kind of collection as a static variable on a class with static methods to get & put stuff. So it's that easy to make something available to all users ... in one JVM.
The cache is a gamble that it's worth using up memory to give faster access to frequently requested data than you'd get from a database or file system or some other source. For something like your application, you'd want the data to also be in a database or file system for long term storage and
you should update or clear the cache any time you update those external data stores. Now you're also gambling that the complexity of keeping the cache in sync is worth it.
Finally, if you have multiple JVMs in a cluster you have to keep them all in sync. An in-memory cache might be a very complex thing if your data changes often, or a very simple thing if your data never changes.
Any of that sound like you can use it?