This week's book giveaway is in the Mac OS forum. We're giving away four copies of a choice of "Take Control of Upgrading to Yosemite" or "Take Control of Automating Your Mac" and have Joe Kissell on-line! See this thread for details.
I'd take a different approach - when the cache is called see if the data is 15 seconds old and if so, get new data. That way the database wouldn't need to be called if there is no activity for 15 seconds.