网络编程 
首页 > 网络编程 > 浏览文章

分享8个JavaScript库可更好地处理本地存储

(编辑:jimmy 日期: 2024/11/7 浏览:3 次 )

我为当前项目测试了一些本地存储库。想知道他们有什么很棒的功能吗?继续阅读。

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

分享8个JavaScript库可更好地处理本地存储

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/krasimir/lsbridge

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

分享8个JavaScript库可更好地处理本地存储

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

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
 }
});

很神奇的是它提供中文文档

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
});

你还知道其他本地存储库吗?为什么使用它?

上一篇:原生JavaScript实现弹幕组件的示例代码
下一篇:浅析我对JS延迟异步脚本的思考
一句话新闻
高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。