I can see how that could be a big problem. I worked on a site of that size, and we ended up getting the MySQL VP of training over from Finland (to London) just to go through with us how to optimize our databases :-P pretty hardcore 😉
Shared memory is definitely, without a shadow of a doubt, the best way for you to deal with this. Memory is the fastest storage you have in your PC. True, saving it to a flat file means you'll probably get it cached, but when you're dealing with hundreds of hits a second, probably isn't good enough. If you use shared memory, you can control with 100% accuracy what's contained in there at any one time.
If you want a good coding challenge, you could write some small functions to simplify the shared memory access. OO would be the ideal 😉
dave