asp.net 4.0에서 웹 사이트 사용자 데이터를 캐시하는 가장 좋은 방법은 무엇입니까?asp.net 응용 프로그램에서 사용자 데이터 캐싱
UI 요소 (열기/닫기) 상태, 환경 설정, 일부 대화 상자 해제 여부 등과 같은 모든 종류의 사용자 또는 세션 관련 항목을 추적하는 사용자 설정 테이블이 있습니다. 이들은 (사용자마다, 어쨌든) 자주 변경되지 않지만 자주 조회되므로 캐시하는 것이 현명합니다. 가장 좋은 방법은 뭔가요? 다음은 ...
- 스토어 그들
HttpContext.Current.Session
에 직접적으로 (예를 들어,Session["setting_name"]
) - 스토어 그들
HttpContext.Current.Cache
- 를 사용하여 글로벌 정적 사전에, 예를 들어, 내가 발견 한 옵션입니다 키는 고유 한 사용자 ID는
이 작업을 수행 할 수있는 가장 합리적인 방법은 무엇입니까 Session
또는 Cache
각 세션 이름 값을
static ConcurrentDictionary<string,string>
? Session
은 Cache
과 어떻게 다른가요? 사전을 하나의 세션/캐시 객체로 저장하는 대신 많은 값을 직접 추가하는 것이 의미가 있습니까? 조회가 더 빠를 것이라고 생각하지만, 사전이 변경되면 전체 사전을 다시 저장해야하므로 업데이트 속도가 느려집니다. 글로벌 정적 캐시를 사용할 때 발생할 수있는 문제점이나 이점은 무엇입니까? 이게 가장 빠를 것 같지만 크기를 관리해야합니다. 특정 크기에 도달하면 정기적으로 플러시 할 수 있고, 크로스 레퍼런스 대기열을 유지하고 특정 크기가되면 가장 오래된 것을 먼저 제거 할 수 있습니다. 이것은 어떤 의미가 있거나 너무 열심히 노력하고 있습니까?
하나의 서버에 캐시 된 것이 다른 서버에서 사용할 수 없게되면 서버 팜이 가능합니다 (사이트가 현재 단일 인스턴스로 호스팅 됨에도 불구하고) 데이터베이스에서 다시). 가야 할 길 같은데. –