摘要:簡介離線存儲,提供強大的封裝專業封裝給封裝類似類似接口如果你熟悉那一定會用使用類似的接口操作基于的瀏覽器端數據庫基于的瀏覽器端數據庫小型數據庫,瀏覽器端基于風格的接口,讓它非常可愛
查看原文
有些安全性不太重要的數據,我不想花大力氣搞一臺服務器,再安裝mysql或者 monogdb,再寫點rest接口。這也太麻煩了,瀏覽器里本來就有很好用的數據庫。你為什么不嘗試一下呢?1. 客戶端存儲目前有兩個方案比較
方案 | 優點 | 缺點 |
---|---|---|
localStorage | 簡單易用,同步操作 | 存儲容量小,一般不超過10MB |
indexDB | 接口都是異步的,操作不便 | 容量比localStorage大 |
如果要使用localStorage,那么存儲量比較小。如果是用indexDB,那么最好找點開源庫,直接封裝友好的API, 來方便我們使用indexDB。
下面介紹一些很好用的的庫。
2. 簡介 2.1. localForage離線存儲, 提供強大的API封裝IndexedDB,WebSQL,localStorage
12073 star
https://github.com/localForag...
localforage.setItem("key", "value", function (err) { // if err is non-null, we got an error localforage.getItem("key", function (err, value) { // if err is non-null, we got an error. otherwise, value is the value }); });2.2. Dexie.js
專業封裝 IndexedDB
3040 star
https://github.com/dfahlander...
const db = new Dexie("MyDatabase"); // Declare tables, IDs and indexes db.version(1).stores({ friends: "++id, name, age" }); // Find some old friends await db.friends .where("age") .above(75) .toArray(); // or make a new one await db.friends.add({ name: "Camilla", age: 25, street: "East 13:th Street", picture: await getBlob("camilla.png") });2.3. zangodb
給HTML5 IndexedDB 封裝類似mongodb類似接口, 如果你熟悉mongodb, 那一定會用zangodb
688 star
https://github.com/erikolson1...
let db = new zango.Db("mydb", { people: ["age"] }); let people = db.collection("people"); let docs = [ { name: "Frank", age: 20 }, { name: "Thomas", age: 33 }, { name: "Todd", age: 33 }, { name: "John", age: 28 }, { name: "Peter", age: 33 }, { name: "George", age: 28 } ]; people.insert(docs).then(() => { return people.find({ name: { $ne: "John" }, age: { $gt: 20 } }).group({ _id: { age: "$age" }, count: { $sum: 1 } }).project({ _id: 0, age: "$_id.age" }).sort({ age: -1 }).forEach(doc => console.log("doc:", doc)); }).catch(error => console.error(error));2.4. JsStore
使用類似 sql的接口操作 indexDB
74 star
https://github.com/ujjwalgupt...
var value = { column1: value1, column2: value2, column3: value3, ... columnN: valueN }; connection.insert({ into: "TABLE_NAME", values: [Value], //you can insert multiple values at a time }).then(function(rowsAffected) { if (rowsAffected > 0) { alert("Successfully Added"); } }).catch(function(error) { alert(error.message); });2.5. minimongo
基于localstorage的瀏覽器端mongodb數據庫
697 star
https://github.com/mWater/min...
// Require minimongo var minimongo = require("minimongo"); var LocalDb = minimongo.MemoryDb; // Create local db (in memory database with no backing) db = new LocalDb(); // Add a collection to the database db.addCollection("animals"); doc = { species: "dog", name: "Bingo" }; // Always use upsert for both inserts and modifies db.animals.upsert(doc, function() { // Success: // Query dog (with no query options beyond a selector) db.animals.findOne({ species:"dog" }, {}, function(res) { console.log("Dog"s name is: " + res.name); }); });2.6. pouchdb
基于indexDB的CouchDB-style瀏覽器端數據庫
10599 star
https://github.com/pouchdb/po...
var db = new PouchDB("dbname"); db.put({ _id: "dave@gmail.com", name: "David", age: 69 }); db.changes().on("change", function() { console.log("Ch-Ch-Changes"); }); db.replicate.to("http://example.com/mydb");2.7. lowdb
小型json數據庫,瀏覽器端基于localStorage, lodash風格的接口,讓它非常可愛
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/19262.html
摘要:簡介離線存儲,提供強大的封裝專業封裝給封裝類似類似接口如果你熟悉那一定會用使用類似的接口操作基于的瀏覽器端數據庫基于的瀏覽器端數據庫小型數據庫,瀏覽器端基于風格的接口,讓它非常可愛 查看原文 有些安全性不太重要的數據,我不想花大力氣搞一臺服務器,再安裝mysql或者 monogdb,再寫點rest接口。這也太麻煩了,瀏覽器里本來就有很好用的數據庫。你為什么不嘗試一下呢? 1. 客戶端存...
摘要:私有緩存就是用戶專享的,各級代理不能緩存的緩存。代表使用內存中的緩存,則代表使用的是硬盤中的緩存,瀏覽器讀取緩存的順序為。 作為一名前端工作人員,前端的緩存知識是必須掌握的,因為一個網站打開網頁的速度直接關系到用戶體驗,用戶粘度,而提高網頁的打開速度有很多方面需要優化,其中比較重要的一點就是利用好緩存,緩存文件可以重復利用,還可以減少帶寬,降低網絡負荷。 1 緩存 緩存從宏觀上分為私有...
摘要:私有緩存就是用戶專享的,各級代理不能緩存的緩存。代表使用內存中的緩存,則代表使用的是硬盤中的緩存,瀏覽器讀取緩存的順序為。 作為一名前端工作人員,前端的緩存知識是必須掌握的,因為一個網站打開網頁的速度直接關系到用戶體驗,用戶粘度,而提高網頁的打開速度有很多方面需要優化,其中比較重要的一點就是利用好緩存,緩存文件可以重復利用,還可以減少帶寬,降低網絡負荷。 1 緩存 緩存從宏觀上分為私有...
摘要:私有緩存就是用戶專享的,各級代理不能緩存的緩存。代表使用內存中的緩存,則代表使用的是硬盤中的緩存,瀏覽器讀取緩存的順序為。 作為一名前端工作人員,前端的緩存知識是必須掌握的,因為一個網站打開網頁的速度直接關系到用戶體驗,用戶粘度,而提高網頁的打開速度有很多方面需要優化,其中比較重要的一點就是利用好緩存,緩存文件可以重復利用,還可以減少帶寬,降低網絡負荷。 1 緩存 緩存從宏觀上分為私有...
閱讀 3724·2021-10-13 09:39
閱讀 3789·2021-09-24 09:48
閱讀 1189·2021-09-01 10:30
閱讀 2526·2019-08-30 15:55
閱讀 1774·2019-08-29 16:39
閱讀 2296·2019-08-26 13:55
閱讀 3050·2019-08-26 12:23
閱讀 1634·2019-08-26 11:59