Regex.CacheSize 속성 컴파일 된 정규식의 현재 정적 캐시에있는 최대 항목 수를 가져 오거나 설정합니다.캐시 된 정규식의 수를 확인할 수 있습니까?
Regex 클래스는 정적 메서드 호출에 사용되는 컴파일 된 정규 표현식의 내부 캐시를 유지 관리합니다. 집합 연산에 지정된 값이 현재 캐시 크기보다 작 으면 캐시 크기가 지정된 값과 같아 질 때까지 캐시 항목이 삭제됩니다.
기본적으로 캐시에는 15 개의 컴파일 된 정적 정규 표현식이 저장됩니다. 응용 프로그램>은 일반적으로 캐시 크기를 수정할 필요가 없습니다. 캐싱을 끄거나 비정상적으로 큰 캐시가있는 경우에만 CacheSize 속성을 사용하십시오.
그래서 캐시의 현재 표현식에 대해 자세히 알고 싶습니다. 누구나 가능하다는 것을 알 수 있습니까?
아이디어가 내가 지금 < 15 개를 재사용한다는 것이므로 CacheSize
과 피들링하고 싶지는 않지만 실제 캐시 사용량을 어느 시점에서 확인할 수 있기를 바란다. 정규식 사용이 확장됨에 따라) CacheSize
을 동적으로 조정하십시오.
또는 단순히 CacheSize
을 임의로 큰 숫자로 늘리는 오버 헤드에 대한 의견은 무엇입니까?
AFAIK 노출 방법은 없지만 반사를 사용하여 값을 가져올 수는 있습니다. 나는 캐시를'LinkedListNode livecode'라고 믿는다. –
Lloyd
왜 컴파일 된 Regex 인스턴스를 만들고 캐시의 블랙 박스 접근 방식이 아닌 직접 관리해야합니까? 예기치 않은 방향으로 코드베이스가 커지거나 라이브러리로 사용된다면 최대 캐시 크기 값은 적합하지 않습니다. – spender