Hi all,
One of the things that needs to be fixed with mod_cache is the support
for caching varying responses. In the current cache, we store it as
below, as an additional directory tree below the original URL's
directory tree. This wastes lots of inodes, and is very expensive to
write.
/tmp/cacheroot/
/tmp/cacheroot//1uq
/tmp/cacheroot//1uq/w...@d
/tmp/cacheroot//1uq/w...@d/Fok
/tmp/cacheroot//1uq/w...@d/Fok/HRU
/tmp/cacheroot//1uq/w...@d/Fok/HRU/I62
/tmp/cacheroot//1uq/w...@d/Fok/HRU/I62/QSJf2JA.header
/tmp/cacheroot//1uq/w...@d/Fok/HRU/I62/QSJf2JA.header.vary
/tmp/cacheroot//1uq/w...@d/Fok/HRU/I62/QSJf2JA.header.vary/thJ
/tmp/cacheroot//1uq/w...@d/Fok/HRU/I62/QSJf2JA.header.vary/thJ/bK5
/tmp/cacheroot//1uq/w...@d/Fok/HRU/I62/QSJf2JA.header.vary/thJ/bK5/im1
/tmp/cacheroot//1uq/w...@d/Fok/HRU/I62/QSJf2JA.header.vary/thJ/bK5/im1/RSz
/tmp/cacheroot//1uq/w...@d/Fok/HRU/I62/QSJf2JA.header.vary/thJ/bK5/im1/
RSz/fCK
/tmp/cacheroot//1uq/w...@d/Fok/HRU/I62/QSJf2JA.header.vary/thJ/bK5/im1/
RSz/fCK/YHquMmA.data
/tmp/cacheroot//1uq/w...@d/Fok/HRU/I62/QSJf2JA.header.vary/thJ/bK5/im1/
RSz/fCK/YHquMmA.header
What I have in mind is to move the varied content into the main tree,
like this:
/tmp/cacheroot/
/tmp/cacheroot//1uq
/tmp/cacheroot//1uq/w...@d
/tmp/cacheroot//1uq/w...@d/Fok
/tmp/cacheroot//1uq/w...@d/Fok/HRU
/tmp/cacheroot//1uq/w...@d/Fok/HRU/I62
/tmp/cacheroot//1uq/w...@d/Fok/HRU/I62/QSJf2JA.header
/tmp/cacheroot//thJ
/tmp/cacheroot//thJ/bK5
/tmp/cacheroot//thJ/bK5/im1
/tmp/cacheroot//thJ/bK5/im1/RSz
/tmp/cacheroot//thJ/bK5/im1/RSz/fCK
/tmp/cacheroot//thJ/bK5/im1/RSz/fCK/YHquMmA.data
/tmp/cacheroot//thJ/bK5/im1/RSz/fCK/YHquMmA.header
We reuse the same directory structure in the process, and keep the
original QSJf2JA.header file indicating that the URL is a varied URL.
Regards,
Graham
--