Well, its a can of worms. It is easier to design with tables, and harder to not use them. I wish this wiki was around earlier...
DIV and SPAN tags can be used to accomplish the layout. But requires alot of fine tuning, especially if you are writing for multiple browsers, and accessibility.
Going back and redesigning html to tableless allowed me to go from 165KB to about 90KB on one file, but it included implementing and external CSS too. Major diff? prolly not, but i did get a "Wow, the page loads so much faster" from about half the users.
You can still use tables, but for data that belongs in a table. What you are doing is fine, it all works, and if the appearance is what you are after, then no need to change.
I bring this up due to your asking about cache, which i assumed you were looking to speed up your pages.
By concept i meant the overall design, which included datasets and no cache, but placed on a hosted server for the outside world with users across the country accessing it everyday.