This is quite different from that. Read your link to see why: the mysql cache invalidated all cache entries if the underlying table changed at all, and only cached whole result sets. This program does things quite a bit differently, tracking much more than just "which table did this result set come from?"