IndexedDB: 단계별
더 이상 고민하지 않고 매우 도움이 되기를 바랍니다.
IndexedDB란 무엇입니까?
간단히 말해서 IndexedDB는 클라이언트 측 저장을 위한 API입니다. Web Storage API(sessionStorage 및 localStorage)가 있지만 특정 구조를 유지하면서 많은 양의 데이터를 저장해야 하는 경우에는 그다지 유용하지 않습니다.
이 데이터베이스 시스템은 트랜잭션에서 작동하며(나중에 이에 대해 이야기할 것임) 객체 지향적입니다.
중요한 측면은 트랜잭션이 비동기식이며 실행할 작업에 연결된 요청의 개념으로 작동하고 해결되면 이벤트를 반환한다는 것입니다.
간단히 말해서 IndexedDB는 브라우저 내에 구조화된 정보를 저장하는 트랜잭션 데이터베이스 시스템입니다.
데이터베이스 생성
이 데이터베이스 시스템으로 시작할 때 연결을 연 다음 가질 데이터베이스 스키마를 지정해야 합니다. 이것은 저장될 개체의 구조를 참조하고 마지막으로 원하는 트랜잭션을 수행합니다. IndexedDB의 가장 주목할만한 장점 중 하나는 인터넷 연결 여부에 관계없이 응용 프로그램이 온라인과 오프라인 모두에서 작동할 수 있다는 것입니다.
다음 게시물은 사용자의 브라우저에서 데이터를 유지하기 위해 IndexedDB를 사용하여 데이터베이스를 만드는 방법을 설명합니다.
업무
데이터베이스(
add
, delete
, get
, put
) 데이터베이스에 대한 작업을 수행하기 전에 트랜잭션을 생성해야 합니다. 트랜잭션을 생성하는 것은 어떤 "테이블"(객체 저장소)이 의 일부가 될 것인지 지정하기 때문입니다. 트랜잭션을 수행하는 데 사용할 액세스 유형뿐만 아니라 IDBDatabase 개체의 transaction(storeNames, mode)
메서드가 사용되므로 사용됩니다.요약:
// Database connection (IDBDatabase)
let db;
function createDatabase() {
//...
const request = window.indexedDB.open('MyDatabase', 1);
request.onsuccess = (e) => {
// Create the DB connection
db = request.result;
};
//...
}
// Create a transaction
const transaction = db.transaction('students', 'readonly');
//...
transaccion(storeNames, mode)
메서드에는 다음 매개변수가 있습니다.storeNames
: 이 매개변수는 트랜잭션의 일부인 오브젝트 저장소(테이블)를 참조하며 값은 이름이 있는 배열입니다. 그러나 하나의 오브젝트 저장소만 사용되는 경우 값은 문자열이 될 수 있습니다. mode
: 이 매개변수는 트랜잭션을 수행하는 데 사용할 액세스 유형을 나타내며 읽기 전용(기본값) 또는 읽기 쓰기가 될 수 있습니다. 마지막으로 트랜잭션은 각 개체 저장소(테이블)에 액세스하고 해당 작업을 수행하는 데 사용되는
objectStore(storeName)
메서드가 포함된 개체를 반환합니다.// Database connection (IDBDatabase)
let db;
function createDatabase() {
//...
const request = window.indexedDB.open('MyDatabase', 1);
request.onsuccess = (e) => {
// Create the DB connection
db = request.result;
};
//...
}
// Create a transaction
const transaction = db.transaction('students', 'readonly');
transaction.oncomplete = function(event) {
// This event will be executed when
// the transaction has finished
};
transaction.onerror = function(event) {
// Handling Errors
};
// Access to the "students table"
const objectStore = transaction.objectStore('students');
//...
Reference
이 문제에 관하여(IndexedDB: 단계별), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/pandresdev/indexeddb-step-by-step-2475텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)