What is generally considered the best way to cache WMS tiles? Squid doesn't seem to do a great job at handling WMS data, though I'm sure there has to be something that does. Suggestions?