Максимальная длина ключей кэша в объекте HttpRuntime.Cache? - PullRequest
14 голосов
/ 25 февраля 2010

Мы используем HttpRuntime.Cache API в ASP.NET для кэширования данных, извлеченных из базы данных.

Для этого конкретного приложения запросы к нашей базе данных имеют МНОЖЕСТВО параметров, поэтому наши ключи кеша выглядят примерно так:

table = table1; param1 = somevalue1; param2 = somevalue2; param3 = somevalue3; param4 = somevalue4; param5 = somevalue5; param6 = somevalue6 ... etc ...

Для некоторых запросов у нас так много параметров, что длина ключа кэша составляет несколько сотен символов.

Мой вопрос: есть ли ограничение на длину этих ключей кеша? Внутренне он использует словарь, поэтому теоретически время поиска должно быть постоянным. Однако мне интересно, есть ли у нас потенциальные проблемы с производительностью и памятью.

1 Ответ

20 голосов
/ 25 февраля 2010

Внутри словарь использует хеш-код ключа, который вы ему даете. Фактически каждый ключ хранится как целое число.

Вам не о чем беспокоиться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...