본문으로 건너뛰기

setStoreData

Description

값을 앱 스코프의 로컬 저장소(디스크)에 영구 저장합니다. datanull을 전달하면 해당 키가 삭제됩니다. setSharedData와 달리 앱을 재시작해도 값이 유지됩니다.

Parameters

파라미터타입설명
keyString저장할 데이터의 키 이름
datadynamic저장할 값. null이면 해당 키를 삭제

Returns

void

Notes

  • 내부적으로 LucyStorage에 앱 스코프 prefix가 붙은 키로 저장됩니다.
  • 디스크 I/O를 사용하므로 setSharedData보다 상대적으로 느립니다.
  • 로그인 토큰, 테마/사용자 설정처럼 앱 재시작 후에도 유지되어야 하는 값에 사용하세요.
  • 특정 키만 삭제하려면 null을 전달하거나 $app.removeStoreData(key)를 사용하세요.

Example

// 다크 테마 설정을 영구 저장
$app.setStoreData("THEME_MODE", 1);

// 저장된 값 삭제
$app.setStoreData("THEME_MODE", null);

setSharedData vs setStoreData vs setVar 비교

구분setSharedDatasetStoreDatasetVar
저장 위치앱 프로세스 메모리디스크 (LucyStorage)앱 변수 시스템 (LucyVarMngr)
영속성앱 종료 시 소멸앱 재시작 후에도 유지앱 종료 시 소멸
정의 방식코드에서 자유롭게 키 지정코드에서 자유롭게 키 지정스튜디오에서 사전 정의 필요
읽기 함수$app.getSharedData(key)$app.getStoreData(key)$app.getVar(name)
삭제 방법null 값 전달null 값 전달값 변경만 가능
주요 용도페이지 간 임시 데이터 공유사용자 설정, 로그인 토큰 등 영구 저장스튜디오 UI 와 연동된 앱 변수 제어
속도빠름 (메모리)상대적으로 느림 (디스크 I/O)빠름 (메모리)
  • $app.getStoreData(key)
  • $app.removeStoreData(key)
  • $app.setSharedData(sharedKey, data)