Вы говорите, что передаете ключи в URL, для которых вам нужно получить значения (из кэша)? Или вы говорите, что буквально используете строку запроса в качестве источника ключей кэша? В любом случае, проверьте Шаблон Cache-Aside. Вам следует использовать какой-либо шаблон репозитория, чтобы сначала проверить кэш ASP.NET на наличие объектов и либо вернуть их, либо пойти получить их (в вашем случае из базы данных), если они не существуют. Кеш-ключи должны храниться как константы, возможно, в статическом классе или в файле ресурсов. (Если я понимаю, что вы спрашиваете)