1. An apparatus comprising: at least one processor; a memory coupled to the at least one processor; a database residing in the memory; and a query processor residing in the memory and executed by the at least one processor, the query processor caching data retrieved from the database as a result of a first query, and returning cached data when processing a second query to the database instead of accessing data in the database.