2012-11-28 2 views
1

ASP.NET 사용 사용자 별 데이터를 캐시에 넣습니다. 단지 사용자에게ASP.NET : 사용자 당 캐시

HttpContext.Current.Cache.Insert(....) 

이 캐시를 사용할 수있는, 또는 동일한 키를 사용하여 캐시를 요청하는 사용자가 같은 데이터를 얻을 것이다 : 사이트는 윈도우 인증을 사용?

+1

캐시가 사용자 고유 인 경우 세션이라고합니다. –

답변

2

캐시는 전역이므로 모든 사용은 사이트를 통해 동일한 리소스에 액세스합니다. 세션 영구 사용자 데이터가 필요한 경우 Session을 볼 수 있습니다.

6

사용자 이름을 키의 일부로 지정할 수 있습니다 (예 : "조. 캐시 키 1". 열쇠를 파싱하는 것은 당신에게 달려 있습니다.

대신 세션의 캐시를 사용하는 몇 가지 이유 :

  1. 세션이 비활성화했다가.
  2. 세션의 만료 정책이 요구 사항을 충족시키지 못하지만 캐시가 수행합니다.
  3. 세션에없는 캐시의 일부 기능 (예 : 항목 제거에 대한 조치, 메모리가있을 때 자동 퇴거)을 활용해야합니다

Session 대신 Cache를 사용하는 것이 좋지 않은 이유는 Session이 존재한다는 것을 모르기 때문입니다.

+0

또 다른 이유 : Session은 객체가 직렬화 가능해야하고, 큰 객체가 DB 또는 다른 프로세스로 전송되는 속도가 느립니다. 세션은 InProc 모드를 사용하면 정말 좋습니다. –