Encrypted-storage

박채연·2023년 7월 23일

Redux의 store는 데이터 저장 공간으로 활용되며 실제로 앱이 켜져있는 상태에서 데이터를 불러오는 성능이 가장 뛰어나다. 하지만 앱이 꺼지면 데이터가 사라지는 일시적 저장 공간 일 뿐이다.

따라서 데이터를 유지해줄 공간이 필요하다. 앱이 꺼졌다 켜진 후에도 데이터 유지가 가능한 것이 바로 Async-storage이며, 웹으로 치면 로컬스토리지와 유사하다.

공식 문서 한 줄 소개에서는 Async-storage를 'An asynchronous, unencrypted, persistent, key-value storage system for RN'이라고 정의 되어 있다. 그대로 해석하면, '비동기적 - 암호화되지 않으며 - '키-값'으로 저장되는 시스템' 이라고 한다. 데이터가 암호화되지 않는 스토리지이기 때문에 누구든지 값을 열어볼 수 있어 귀중한 토큰을 보관할 시에는 적합하지 않다.

await EncryptedStorage.setItem('키', '값');
await EncryptedStorage.removeItem('키');
const 값 = await EncryptedStorage.getItem('키');

쉽게 정리하자면❗️

  • redux에 넣은 데이터는 앱을 끄면 날아간다.
  • 앱을 꺼도 저장되어야 하고 민감한 값은 encrypted-storage에 넣기!
  • 개발 환경별로 달라지는 값은 react-native-config에 저장하면 좋다(암호화 안 됨)
  • 그 외에 유지만 되면 데이터들은 async-storage에 저장!
    (npm install @react-native-async-storage/async-storage)
profile
멈춤없이 타닥타닥👩🏻‍💻

0개의 댓글