I do not have a process who's memory requirements continually grow without bound. It is looking at stock market data for a given window of time. Data in the cache that is newer than that window hasn't been read yet, and data older than that window of time is removed automatically. TIEing the arrays is not an option because the whole point of the cache is to avoid disk access. A DB solution is *already* in play - that's where the data initially comes from, and the cache is there to prevent repeatedly loading the same data from the database.