하지만 캐시 키의 최대 길이는 무엇인지 생각해 봤습니다. 열쇠가있을 수있는 최대 길이가 있습니까? 이 방법으로 물건을 저장하려고하면 꽤 긴 키 이름 값이 생길 수 있으며 가장 최근에 사용 된 가장 일반적인 검색을 유지하는 것에 대해서는 아무 것도하지 않습니다.
키의 길이는 "문자열"자체의 최대 길이입니다.
여기 설명서에 따르면 http://msdn.microsoft.com/en-us/library/system.web.caching.cache.add.aspx에 따르면 키는 개체 유형의 값이있는 문자열로 정의 할 수 있습니다.
사용자 지정 개체에 고유 키 태그를 지정하면 캐시에서 쿼리 할 때 사용자 지정 개체에 태그가있는 복잡한 정보로 사용자 지정 개체를 개체 할 수 있습니다.
나는 조심스럽게 다시 요구 사항을 읽은 후 11072009_1154
편집, 난 당신의 목적은 자주 검색 문자열을 캐시하는 것으로 나타났습니다.
주어진 예제에서 자주 검색하는 문자열은 "Microsoft Visual Studio 2008 서비스 팩 1"일 수 있습니다. 필자의 의견으로는 키가되어야하며 값은 다른 필수 속성을 보유 할 추가 속성이있는 사용자 지정 개체입니다. 키 : "Microsoft Visual Studio 2008 서비스 팩 1" 값 : CustomObjectInstance : CustomObjectInstance.UserLanguage = "영어"와 CustomObjectInstance.UserLocalization : "USA", CustomObjectInstance.UserKeyboardLayout 요약
,이 예 수 있습니다 = "UK"등이 있습니다.
AFAIK, 캐시는 사전 형식의 데이터 구조를 구현하므로 충분히 고유해야합니다. 따라서 키가 "Microsoft Visual Studio 2008 서비스 팩 1 - usergroup2,3,6,17,89"인 경우 어떻게 ASp.NET 웹 응용 프로그램에서이 특정 키를 고유하게 식별 할 수 있습니까? 왜냐하면 내 검색 텍스트 상자에 나는 usergroup2,3,6,17,89를 삽입하지 않을 것입니다.
StackOverflow 사이트 검색 기능과 마찬가지로 생각하십시오 : 사용자는 공통 검색 문자열 즉 "jquery 자료 배우기"를 삽입합니다. 캐시 키에는 "jquery 자료 배우기"항목이 있어야합니다.
수정 11072009_1250
감사합니다. 또한 여러 레이어를 적용하여 추가 솔루션을 제공 할 수 있습니다. 즉, 모든 정보를 캐시의 한 레이어에 집중시키는 대신 추가 레이어를 저장하지 않는 것이 좋습니다.
캐시에 키 (문자열)와 사전을 다시 가리키는 값이 있음을 의미합니다.
또 다른 가능한 해결책은 SQL Server 전체 텍스트 인덱스 검색을 사용하여 이러한 기능을 밀어 넣는 것입니다. SQL Server 전체 텍스트 인덱스 검색에는 익숙하지 않지만이 기능을 기존 인프라에 활용할 수 있으면 좋습니다. 가능하다면.
마찬가지로 ... 메모리 제약 조건에 부딪치지 않도록 테스트하고 테스트하십시오. –