효율적으로 상태 저장 및 검색(HTML)

Applies to Windows and Windows Phone

다양한 옵션으로 JavaScript를 사용하는 Windows 스토어 앱의 상태를 저장할 수 있습니다. 다양한 저장소 옵션을 언제 사용하여 최상의 성능을 얻을 수 있는지 알아보세요.

다른 저장소 옵션을 고려할 때 각 저장소 또는 상태 메커니즘에서 추가 리소스 및 구성 요소를 로드해야 한다는 점을 염두에 두세요. 이러한 리소스 및 구성 요소로 인해 앱의 오버헤드가 증가하므로 앱에서 사용되는 상태 및 저장 메커니즘의 수를 최소화하는 것이 좋습니다.

세션 상태

앱 논리의 핵심인 글로벌 변수와 같은 세션 데이터에는 WinJS.Application.sessionState 개체를 사용합니다. 이 개체는 메모리 내 데이터 구조이며, 자주 변경되지만 시스템에서 프로세스를 종료하더라도 유지해야 하는 값을 저장할 때 유용합니다. 앱이 일시 중단되면 자동으로 파일 시스템에 직렬화되고 앱이 다시 활성화되면 자동으로 다시 로드됩니다. WinJS.Application.sessionState를 사용하면 앱에서 수행하는 부담이 큰 파일 작업의 수를 줄일 수 있습니다.

로밍 설정

색 및 테마 설정과 같은 기본 앱 설정을 저장할 때 로밍 데이터 저장소를 사용합니다. 자주 변경되는 설정에는 이 설정을 사용하지 않는 것이 좋습니다. 자주 바뀌지 않고 앱이 시작되는 사이에 유지해야 하는 값에 로밍 설정을 사용합니다. 자주 바뀌는 데이터의 경우 세션 상태(WinJS.Application.sessionState 개체)를 대신 사용합니다.

로컬 설정 데이터 저장소에 액세스하려면 Windows.Storage.ApplicationData.current.roamingSettings를 사용합니다.

로컬 설정

색상 및 테마 설정과 같은 기본 앱 설정을 저장할 때 로컬 데이터 저장소를 사용합니다. 이 데이터 저장소는 값이 변경될 때 (디스크 캐싱에 따라) 디스크에 작성되므로, 자주 바뀌는 설정에는 사용하지 않는 것이 좋습니다. 자주 바뀌지 않고 앱이 시작되는 사이에 유지해야 하는 값에 로컬 설정을 사용합니다. 자주 바뀌는 데이터의 경우 세션 상태(WinJS.Application.sessionState 개체)를 대신 사용합니다.

로컬 설정 데이터 저장소에 액세스하려면 Windows.Storage.ApplicationData.current.localSettings를 사용합니다.

로컬 저장소

많은 양의 앱 데이터를 저장하거나 즉시 파일에 데이터를 저장해야 할 때 WinJS.Application.local을 사용합니다. 작은 규모의 읽기 및 쓰기를 수행할 때 로컬 저장소를 사용하지 마세요.

WinJS.Application.local 또는 Windows.Storage.ApplicationData API를 통해 로컬 설정에 액세스할 수 있습니다.

IndexedDB

IndexedDB는 JavaScript를 사용하는 Windows 스토어 앱에서 데이터베이스에 키-값 쌍을 손쉽게 저장할 수 있는 방법을 제공합니다. IndexedDB는 많은 양의 데이터를 처리할 수 있습니다. 키-값 데이터 관리가 필요할 때 IndexedDB를 사용하세요. 직접 시스템을 구현하는 것보다 빠릅니다. indexedDB API를 사용하면 전체 데이터베이스 엔진을 초기화하므로 몇 개의 필드만 저장할 경우에는 IndexedDB를 사용하지 마세요. 소량의 데이터를 저장하려면 세션 상태 또는 로컬 저장소를 사용하세요.

IndexedDB에 액세스하려면 msIndexedDB 속성을 사용합니다.

예제 응용 프로그램

각 저장소 옵션을 언제 사용할 것인지 제대로 이해하기 위해 예제 앱을 살펴보겠습니다.

참고  이 예제는 앱에서 각 저장소 옵션을 어떻게 사용할 수 있는지 보여줍니다. 예제로만 참조하세요. 각 저장소 옵션을 위해 이진 파일을 로드할 때 메모리 오버헤드가 발생하므로, 몇 가지를 조합할 수 있다면 모든 저장소 옵션을 사용할 필요는 없습니다.

사용자의 연락처를 관리하는 기본적인 앱을 살펴보겠습니다. 사용자가 연락처를 추가, 제거하고 검색할 수 있습니다. 각 연락처에 대해 기본 정보를 지정하고 하나 이상의 사진을 첨부할 수 있습니다.

다음은 각기 다른 데이터 형식에 대해 사용할 수 있는 저장소 옵션의 목록입니다.

  • 사용자의 기본 설정 기억

    앱에 배경색, 글꼴 크기와 같이 사용자가 변경할 수 있는 기본 설정이 있습니다. 앱은 시작할 때 이 기본 설정을 읽고 모양을 초기화할 때 이 기본 설정을 사용합니다. 그러나 기본 설정은 앱에서 핵심적인 부분이고 자주 변경되지 않으므로, 로컬 설정을 사용하여 이 정보를 저장하세요.
  • 사용자가 본 마지막 연락처 기억

    사용자가 여러 연락처를 이동한 다음 앱에서 떠납니다. 사용자가 나중에 다시 돌아왔을 때 앱은 동일한 연락처를 표시합니다. 마지막으로 본 연락처는 자주 바뀝니다. 세션 상태를 사용하여 마지막으로 본 연락처를 저장하세요.
  • 연락처 및 기본 정보 저장

    사용자가 쉽고 빠르게 연락처를 검색하기를 원합니다. IndexedDB를 사용하여 연락처 정보를 저장하세요. IndexedDB는 많은 양의 데이터를 관리하는 데 적합하며, 가장 빠르게 데이터를 검사할 수 있도록 지원합니다.
  • 연락처의 이미지 저장

    연락처의 이미지는 클 수 있으므로, 세션 상태나 로컬 설정을 사용하지 마세요. 그 대신 IndexedDB나 로컬 저장소를 사용하세요. 앱에서 직렬화하고 이진 데이터를 가져올 수 있습니다.

 

 

표시:
© 2014 Microsoft