I see developers trying to "cache" data all the time. My advice is, don't try to cache the data yourself. Write your SQL to solve the query each time. Oracle has a really out of this world data caching mechanism that works much better than anything that you will come up with.
I would recommend that you read
Oracle Database Concepts: Buffer Cache which will give you some idea of how Oracle "caches" your data for you.
I would seriously recommend you get your hands on a book by Tom Kyte called
Exper Oracle Database Architecture, in particular chapter 4 on memory structures. He explains it all very well.