Many modern applications motivate variations on standard caching problems. Caching is the use of fast storage to serve frequently-requested data replicated from a slow data source. Applications can involve requests for multiple data objects (or "file bundles"), queries with results much smaller than the data they access, or updates to data at the source. Database applications can involve all of these properties, and the increasing rate at which they transfer data necessitates an efficient, general, and rigorous approach to managing caches that serve their data. This work presents DynamicBypass, an O(log^2 k)-competitive randomized online algorithm that is the first online solution to this and other noteworthy problems. This algorithm is tractable in terms of memory and computation and has bounded overhead for control communication. This work also contains an O(k)-competitive deterministic online version of DynamicBypass and several transformations that address simpler caching problems.