Using AnyDataset you can cache the query results from database easily using your own cache strategy. (old version!)

XMLNuke have a CachedDBDataset class. The main purpose of this class is retrieve queries from the database and store it in cache for an pre-defined time.