Hi,
is not possible to cache a request with a querystring. It's for this reason that, even if you are configuring the ignoreUrlParameter, in your cache directory you are not able to find the request.
Calls which contains a query string are considered like "dynamic". If you need to cache the result of a request with a variable parameter i can suggest you to use selectors instead of query string. By using the selectors the dispatcher is able to cache the result even if you are using different selectors.
cq5 - Selectors in AEM - Stack Overflow
The above link is not the official documentation (i'm sure that some other guy of the staff could share with you the official documentation) but explain what is a selector and how use it.
If you cannot use the selector, i think that the only way that you have to cache you request by using a query string is to use a CDN.
Let us know.
Thanks,
Antonio