2014-01-21 3 views
0

RESTful API에서는 GET/api/resources/resourceID와 같은 요청을 캐싱 할 수 있습니다. 그러나 다음 번에 동일한 리소스에 액세스 할 때 캐싱 된 값은 리소스 소유자에게만 반환되어야합니다 (즉 요청에 권한이 필요함). 이 캐싱을 사용하고인가 된 사용자에게만 데이터를 제공 할 수 있습니까?REST에서 캐싱 사용

감사합니다.

답변

0

캐시 키에 사용자의 ID를 포함 할 수 있습니다. 의 리소스는 사용자가 로그인되어 있는지 여부에 따라 다른 가정 해 봅시다 캐시 키의 예를 (을 포맷하는 방법에는 여러 가지가 있습니다). 당신은 구분 (선택해야

For non-logged in: 
"resource:{resourceID}" (if you are storing more than just resources) 
"{resourceID}" (if your cache stores only resources) 

For logged-in user: 
"resource:{resourceID}:{userID}" or "{resourceID}:{userID}" 

는 ":"에 이 경우)는 귀하의 데이터에 나타나지 않습니다.

또 다른 고려해야 할 점은 대기열에서 물건을 노화시키는 것입니다. 캐시가 다시 사용되지 않는 사용자 별 데이터로 채워지기 때문에 캐시 미스로 끝내고 싶지는 않습니다.