JavaScript庫中處理本地存儲類庫

Local Storage Bridge

https://github.com/krasimir/lsbridge

如果你必須在同一個瀏覽器中從一個標籤頁發送消息到另一個標籤頁,你不必用艱難的方式。Local storage bridge在這裏讓任務變得更簡單。

基本使用:

// 發送
lsbridge.send(‘app.message.error’, { error: ‘Out of memory’ });

// 監聽
lsbridge.subscribe(‘app.message.error’, function(data) {
  console.log(data); // { error: ‘Out of memory’ }
});

Basil.js

http://wisembly.github.io/basil.js/

Basil.js統一了session、localStorage和cookie,爲你提供了一種處理數據的直接方法。

基本使用:

let basil = new Basil(options);

basil.set(‘name’, ‘Amy’);
basil.get(‘name’);
basil.remove(‘name’);
basil.reset();

store.js

https://github.com/marcuswestin/store.js

Store.js像其他東西一樣處理數據存儲。但還有更多的功能,它的一個高級特性是讓你更深入地訪問瀏覽器支持。

基本使用:

store.set(‘book’, { title: ‘JavaScript’ }); // Store a book
store.get(‘book’); // Get stored book
store.remove(‘book’); // Remove stored book
store.clearAll(); // Clear all keys

lscache

https://github.com/pamelafox/lscache

它與localStorage API類似。事實上,它是localStorage的一個封裝器,並使用HTML5模擬memcaches函數。在上面的文檔中發現更多的功能。

基本使用:

lscache.set(‘name’, ‘Amy’, 5); // 數據將在5分鐘後過期
lscache.get(‘name’);

Lockr

https://github.com/tsironis/lockr

Lockr建立在localStorage API之上。它提供了一些有用的方法來更輕鬆地處理本地數據。

是什麼讓你要使用此庫而不是localStorage API?

好吧,localStorage API僅允許你存儲字符串。如果要存儲數字,則需要先將該數字轉換爲字符串。在Lockr中不會發生這種情況,因爲Lockr允許你存儲更多的數據類型甚至對象。

基本使用:

Lockr.set(‘name’, ‘Amy’);
Lockr.set(‘age’, 28);
Lockr.set(‘books’, [{title: ‘JavaScript’, price: 11.0}, {title: ‘Python’, price: 9.0}]);

Barn

https://github.com/arokor/barn

Barn在localStorage之上提供了一個類似Redis的API。如果持久性很重要,那麼你將需要這個庫來保持數據狀態,以防發生錯誤。

基本使用:

let barn = new Barn(localStorage);

// 原始類型
barn.set(‘name’, ‘Amy’);
let name = barn.get(‘name’); // Amy

// List
barn.lpush(‘names’, ‘Amy’);
barn.lpush(‘names’, ‘James’);
let name1 = barn.rpop(‘names’); // Amy
let name2 = barn.rpop(‘names’); // James

localForage

https://github.com/localForage/localForage

這個簡單而快速的庫將通過IndexedDB或WebSQL使用異步存儲來改善Web的脫機體驗。它類似於localStorage,但具有回調功能。

基本使用:

localforage.setItem(‘name’, ‘Amy’, function(error, value) {
  // Do something
});

localforage.getItem(‘name’, function(error, value) {
  if (error) {
    console.log(‘an error occurs’);
  } else {
    // Do something with the value
  }
});

中文文檔:https://localforage.docschina.org/

crypt.io

https://github.com/jas-/crypt.io

crypt.io使用標準JavaScript加密庫實現安全的瀏覽器存儲。使用crypto.io時,有三個存儲選項:sessionStorage,localStorage或cookie。

基本使用:

let storage = crypto;
let book = { title: ‘JavaScript’, price: 13 };

storage.set(‘book’, book, function(error, results) {
  if (error) {
    throw error;
  }
  
  // Do something
});

storage.get(‘book’, function(error, results) {
  if (error) {
    throw error;
  }
  // Do something
});
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章