Thanks for the reply!
Yeah, my degree course hasn't had much reason to go into hash tables unfortunately, a fact I am now quite resentful of!
I looked into the suggested class and have read up on a couple of examples using hash tables, and there doesn't seem anything too alien about hash tables themselves or the way they work, so thanks for the tip.
One thing I'd appreciate some advice on: what might be the best way to construct the cache process. Currently I have one class which acts as the proxy server and then passes request information to a seperate thread class to be forwarded. My intention is to make a Cache class which will have methods providing functionality to check the hash table for matching entries and depending on the result retrieve that file or forward the request to the server. In basic terms this seems to make sense, to me anyway, any other theories or options which may provide other benefits I've overlooked could be nice.
But once getting further into it, I've seen an example which makes use of a Config class which holds details about remaining cache space and number of files saved... is it really likely to be particularly important to specify the cache size at this stage? and to provide functionality to clear cache or limit the number of entries? I do plan on incorporating some of these things later on, and more, but it should be fine to leave them out for now ... right?
Really appreciate anyone taking the time to offer their expertise, thanks a lot!
Robin