Maximum length of cache keys in HttpRuntime.Cache

2020-02-10 14:42发布

问题:

We are using HttpRuntime.Cache API in an ASP.NET to cache data retrieved from a database.

For this particular application, our database queries feature a LOT of parameters, so our cache keys look something like this:

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

For some queries, we have so many parameters that the cache key is several hundred characters long.

My question: is there a limit to the length of these cache keys? Internally, it is using a dictionary, so theoretically the lookup time should be constant. However, I wonder if we have potential to run into some performance/memory problem.

回答1:

Internally, Dictionary uses the hash code of the key you give it. Effectively every key is stored as an integer.

You have nothing to worry about.