안녕하세요. 이번 시간에는 클라이언트에서 사용할 수 있는 DB인 IndexedDB에 대해 알아보겠습니다.
클라이언트에서 웬 DB냐 하실 수도 있습니다. DB는 보통 서버쪽의 것이었으니까요. 하지만 IndexedDB는 무려 IE10에서부터(부분지원이지만) 제공하는 DB입니다. 즉, 서버로 데이터를 보내지 않아도 클라이언트에 데이터를 저장할 수 있습니다.
물론 클라이언트에 데이터를 저장하는 것이기 때문에 보안에 민감한 정보들은 저장하지 않는 것이 좋습니다. 간단한 데이터를 저장하거나, 오프라인에서도 실행되는 웹사이트를 만들 때 쓰시면 됩니다. 제 블로그 오프라인모드와는 다른 기술입니다. (제 블로그는 PWA를 써서 오프라인 모드를 지원합니다)
먼저 DB와 연결해봅시다. indexedDB를 지원하지 않는 브라우저에서는 첫 번째 줄부터 에러가 날 것입니다.
var request = indexedDB.open('testDB', 1);
request.onsuccess = function() {
var db = request.result;
db.onerror = function(event) {
console.error(event.target.errorCode);
}
};
DB 이름은 testDB로 만들고, 버전은 1버전입니다. 버전은 소수를 사용할 수 없으니 1,2,3,4 이렇게 넣어주세요.