캐싱
Bahmni에서는 두 가지 유형의 캐싱을 사용합니다.
- 프록시 서버(Apache)의 참조 데이터 캐싱 클라이언트 측(브라우저)의 정적 리소스 캐싱
프록시 서버에서 참조 데이터 캐싱
HTTP 응답에 적절한 ‘Expires’ 헤더를 설정하여 구현합니다. 만료 헤더는 bahmni-core 모듈의 org.openmrs.module.bahmnicore.web.filter.CacheHeadersFilter에서 설정합니다. 현재 전역 속성 bahmni.cacheHeadersFilter.expiresDuration에 지정된 기간(분) 동안 모든 개념을 캐시합니다. 따라서 Apache 같은 프록시 서버가 해당 기간 동안 응답을 캐시할 수 있습니다.
클라이언트 측 정적 리소스 캐싱
Cache-Control: max-age=xxxxx와 Etag 헤더를 전송하여 구현합니다. 클라이언트 측에서 캐시할 수 있는 데이터에는 두 가지 유형이 있습니다.
고유 URL을 사용하여 영구 캐시할 수 있는 정적 리소스
Apache가 제공하는 정적 리소스에 적절한 캐시 헤더를 설정합니다. Puppet 스크립트로 구성하며 다음 리소스가 이 범주에 속합니다.
- JavaScript와 CSS 파일. 핑거프린팅 기법으로 고유한 파일 이름을 생성하며 파일 이름에 MD5 체크섬을 추가합니다. Bahmni 앱을 통해 업로드된 이미지는 이미지마다 고유 URL을 갖습니다(예: 영상의학 문서, 환자 파일, 진료 이미지 등).
단일 URL을 사용하고 배포마다 변경될 수 있어 짧은 기간 캐시하는 정적 리소스
다음 리소스가 이 범주에 속합니다.
- Bahmni 앱의 정적 HTML 파일과 이미지(향후 이 파일에도 고유 URL을 적용할 예정) 등록 과정에서 촬영한 환자 이미지
원문 정보
원문 보기 ↗Bahmni Wiki · CC BY-SA 4.0