At present, if the query param order changes in the URL, a new cache key is generated as the URL is "different".
e.g.
https://something.com/?foo=1&bar=2
vs
https://something.com/?bar=2&foo=1
Parsing the query params and checking their values against each other would provide a better all-round approach (although slightly more costly in CPU usage).