- Checking the expire value for cache files requires an extra file read for every get from a file cache
- Garbage collection for JCacheStorageFile can be very slow if you have lots of files
- With a database its a single query to garbage clean which is about as efficient as it gets with the right indexes
- The first thing a cache instance does is a garbage clean
- If the garbage clean fails with an error code 1146 then the table doesn't exists and its created
Feedback and thoughts gratefulyl received.
Geraint
p.s. If DB space is an issue we could also consider a hybrid cache system where the expiry and group information are stored in the DB but the data stores in files.