SAP Cloud SDK 기반 애플리케이션에 캐시 지원 Cache support 추가 방법
본문 목록
Caches
때때로, 응용 프로그램에서 외부 서버로의 서비스 호출은 성능과 지연에 있어서 매우 비싸다.일단 고객과 고객의 관건적인 응답 시간에 도달하면 조회 데이터에 대한 진일보한 평가는 일을 더욱 나빠지게 할 것이다.
사용자에 대한 응답 능력을 향상시키기 위해서, 응용 프로그램 내부에서 요청한 데이터는 보통 후속 호출에 사용할 수 있도록 저장할 수 있습니다.이것은 이러한 방식으로 실현할 수 있다. 즉, 모든 요청에 대해 프로그램이 이전에 저장한 정보를 중복 사용할 수 있다.이런 일반적인 행위를 캐시라고 부른다.캐시는 정보를 통과하는 복사본을 저장합니다.응답성을 높이는 것 외에 기술 목표는 전체적으로 필요한 대역폭과 처리 요구를 낮추어 최종적으로 서버 부하와 감지 지연을 줄이는 것이다.이런 방식을 통해 네트워크를 통해 전송해야 하는 정보량을 줄일 수 있다.
각종 용례에 캐시하는 것은 매우 중요하다.이것은 우리 현대 인터넷 체험이 진보한 원인 중의 하나이다. 예를 들어 수요에 따라 멀티미디어 흐르는 미디어와 지속적인 클라우드 저장소이다.전체 요청과 응답 문서를 저장하는 웹 캐시와 달리 내부 응용 프로그램 캐시는 여러 개의 예상 용도로 임시 데이터를 오래 저장하는 데 사용됩니다.정보의 계산이나 검색 비용이 높고 입력에 필요한 값이 한 번도 필요하지 않을 때마다 캐시를 고려해야 한다.
How do they work
캐시는 보통 주어진 테마 (키) 에 정보를 요청하는 동작을 통해 작동합니다.이전에 주어진 키에 대한 정보를 요청할 때 저장하고 읽을 수 있다면 이른바 '캐시 적중' 이 발생합니다. 데이터를 찾을 수 있고 불러올 수 있습니다.이 오류가 발생하면 캐시 미적중이 발생합니다.
캐시의 가장 중요한 부분은 크기와 항목의 생명 주기이다.둘 다 응용 프로그램에서 유행이 지난 상태나 비례하지 않는 메모리 소모를 피하기 위해 용례를 제한해야 한다.응용 프로그램이 외부 원본에서 더 큰 블록을 반복해서 읽을 때 캐시 사용의 가장 큰 영향을 볼 수 있습니다.이 경우 캐시를 사용하면 정보 전송에 필요한 대역폭을 줄일 수 있습니다.
캐시 용도:
4
4
4
이러한 요구 사항이 사용자의 용례에 적용될 경우 SAP Cloud SDK에서 제공하는 캐시 기능을 애플리케이션에서 사용하는 것이 좋습니다.이제 캐시가 왜 유용한지, 클라우드 SDK가 무엇을 제공하는지 알 수 있습니다.
Caching with SAP Cloud SDK
Cloud SDK는 대부분의 복잡성을 백그라운드에서 처리하므로 요청을 쉽게 캐시할 수 있습니다.이것은 세입자 감지 요청을 처리하는 것을 포함하는데, 이것은 다세입자 응용 프로그램에서 없어서는 안 될 것이다.요청이 필요하면 SDK는 임차인이나 주체 단계의 캐시를 자동으로 격리합니다.
SAP Cloud SDK에서는 JCache(JSR 107)를 베이스 캐시 기술로 사용합니다.본고의 예에서, 이를 위해 JCache 어댑터 Caffeine을 사용하지만, 원하는 대로 사용할 수 있습니다.Caffeine에 대해 다음 의존항을 응용 프로그램pom에 추가합니다.xml:
com.github.ben-manes.caffeine
jcache
runtime
2.7.0
Cache your OData call
캐시가 왜 중요한지, 성능과 응답 능력을 향상시키는 데 도움이 되는지 논의했으니, 응용 프로그램에 도입할 때가 되었습니다.
현재, Google Odata에서 캐시를 호출하기 위해서, Resilience Configuration을 강화하고 Cache Configuration을 추가합니다.
GetBusinessPartnerCommand의 구조 함수 끝에 다음 줄을 추가합니다.
./application/src/main/java/com/sap/cloud/sdk/tutorial/GetBusinessPartnersCommand.java
final ResilienceConfiguration.CacheConfiguration cacheConfig =
ResilienceConfiguration.CacheConfiguration
.of(Duration.ofSeconds(10))
.withoutParameters();
myResilienceConfig.cacheConfiguration(cacheConfig);
위에서 설명한 바와 같이 Resilience Configuration은 캐시 기능을 통합하는 데 사용되며 CacheConfiguration에 설명되어 있습니다.구성에는 다음 두 단계가 있습니다.
a. 객체가 캐시되는 시간을 결정합니다. b. 캐시 데이터와 함께 저장해야 하는 매개변수를 나타냅니다.
첫 번째 단계는 분명히 필요하다. 왜냐하면 데이터는 유한한 시간만 저장해야 하기 때문이다.캐시 정보를 저장하는 시간이 길수록, 캐시 정보는 시간을 초과할 것이다.데이터 캐시를 얼마나 오래 하느냐는 특정한 용례에 달려 있습니다.정보가 오래된 속도가 얼마나 빠를 것으로 예상하십니까?데이터에 접근하는 빈도는 어떻습니까?시간 초과는 데이터가 최신과 응용 프로그램 응답 사이의 균형을 설정합니다.
그 다음에 데이터와 함께 캐시할 파라미터를 지정합니다.업무 파트너 목록을 검색하는 요청에 매개 변수가 필요하지 않기 때문에 htoutParameters를 사용하여 캐시를 구축할 수 있습니다.하지만 ID를 시스템에 전달하여 특정 비즈니스 파트너에 대한 정보를 얻으려는 경우이러한 요청을 캐시하기 위해서는 캐시가 받은 결과뿐만 아니라 그와 관련된 ID도 기억해야 한다.이 경우 사용할 수 있다.withParameters(param1, param2, ..) 간단하게 이 매개 변수를 전달하다.
임의로 테스트하는 것은 첫 번째 요청에 비해 후속 요청의 응답 속도가 더 빠르다.로컬 또는 클라우드에 응용 프로그램을 배치하고 비즈니스 파트너 목록에 여러 번 접근합니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.