IndexedDB
IndexedDB is another form of client-side data storage that differs from web storage in some important ways:
- Unlike web storage, it is well suited to storing large amounts of data, and for storing many different data types.
- The API has much greater functionality than the web storage API, allowing us to do things such as perform queries against indexed data.
- It's an asynchronous API, so working with data stored in IndexedDB won't block the execution of other code.
These last two points hint at the biggest drawback with using IndexedDB over web storage: its API and workflow are more complex than the simple get and set methods we use for web storage. IndexedDB is often criticized for having an overly complex API, but it's necessary to ensure data integrity (more on that soon), and anyway, if we take the time to understand some core concepts, then we'll see that it's actually not that complex after all.
Like web storage, IndexedDB...