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.