The site node caching works now with a limited number of trips to the database. TO achieve this though I had to use a little trick. I am assuming that you are NOT mounting anything below "admin" "resources" "shared" "x" and "pvt". Reason is that they are directories in acs-subsite and if I did not exclude these, every request to e.g /resources/list.css would trigger a database query, as the "/" node will have children and this is the criteria to start lookup in the database.
Another thing we should not do is to call "site_node::get_children -all /", as I will have to update the cache *including children* for the "/" node, to be sure to find the children. The alternative would be to rewrite the whole procedure to directly query the database all the time. Comments ?