Ответ 1
Внутри словарь использует хеш-код ключа, который вы ему даете. Эффективно каждый ключ хранится как целое число.
Вам не о чем беспокоиться.
Мы используем API HttpRuntime.Cache в ASP.NET для кэширования данных, полученных из базы данных.
Для этого конкретного приложения наши запросы к базе данных содержат много параметров, поэтому наши ключи кеша выглядят примерно так:
table = table1; param1 = somevalue1; param2 = somevalue2; param3 = somevalue3; param4 = somevalue4; param5 = somevalue5; param6 = somevalue6... и т.д.
Для некоторых запросов у нас так много параметров, что ключ кеша длиной несколько сотен символов.
Мой вопрос: существует ли ограничение на длину этих ключей кеша? Внутри он использует словарь, поэтому теоретически время поиска должно быть постоянным. Однако мне интересно, есть ли у нас потенциал для решения некоторых проблем с производительностью/памятью.
Внутри словарь использует хеш-код ключа, который вы ему даете. Эффективно каждый ключ хранится как целое число.
Вам не о чем беспокоиться.