更新记录
1.0.0(2025-04-08) 下载此版本
- 双引擎支持:基于 SQLite + IndexedDB 双引擎适配,自动选择最优存储方案
- LRU 缓存淘汰:智能的缓存淘汰策略,自动清理过期和低频数据
- 数据加密存储:使用 AES-256 加密算法,支持设备指纹绑定
- 离线数据同步:支持离线数据自动同步和冲突解决
- 性能优化:批量操作和异步处理,提供最佳性能表现
平台兼容性
Vue2 | Vue3 |
---|---|
√ | √ |
App | 快应用 | 微信小程序 | 支付宝小程序 | 百度小程序 | 字节小程序 | QQ小程序 |
---|---|---|---|---|---|---|
HBuilderX 3.96 | √ | √ | √ | √ | √ | √ |
钉钉小程序 | 快手小程序 | 飞书小程序 | 京东小程序 | 鸿蒙元服务 |
---|---|---|---|---|
√ | √ | √ | √ | √ |
H5-Safari | Android Browser | 微信浏览器(Android) | QQ浏览器(Android) | Chrome | IE | Edge | Firefox | PC-Safari |
---|---|---|---|---|---|---|---|---|
√ | √ | √ | √ | √ | √ | √ | √ | √ |
XL-Cache-Engine 高性能本地缓存引擎组件
在线演示地址:在线demo 一个功能强大的跨平台本地缓存引擎组件,支持 LRU 缓存淘汰策略、数据加密存储和离线数据自动同步等功能。
功能特点
- 双引擎支持:基于 SQLite + IndexedDB 双引擎适配,自动选择最优存储方案
- LRU 缓存淘汰:智能的缓存淘汰策略,自动清理过期和低频数据
- 数据加密存储:使用 AES-256 加密算法,支持设备指纹绑定
- 离线数据同步:支持离线数据自动同步和冲突解决
- 性能优化:批量操作和异步处理,提供最佳性能表现
平台特性
H5 平台特性
在 H5 环境下,组件具有以下特性:
-
存储引擎:
- 使用 IndexedDB 作为存储引擎
- 支持大容量数据存储
- 支持索引和事务操作
-
数据加密:
- 使用 CryptoJS 实现 AES-256 加密
- 支持设备指纹绑定
- 自动密钥管理
-
性能优化:
- 批量操作优化
- 异步处理机制
- 内存使用优化
-
限制说明:
- 存储容量受浏览器限制
- 部分高级功能可能受限
- 需要用户授权存储权限
App 平台特性
在 App 环境下,组件具有以下特性:
-
存储引擎:
- 使用 SQLite 作为存储引擎
- 支持完整的 SQL 操作
- 支持事务和索引
-
系统集成:
- 支持系统文件系统访问
- 支持应用间数据共享
- 支持系统级缓存管理
-
性能优化:
- 原生性能优化
- 内存管理优化
- 并发操作支持
安装使用
基本用法
<template>
<xl-cache-engine ref="cacheEngineRef" />
</template>
<script setup>
import { ref } from 'vue';
const cacheEngineRef = ref(null);
</script>
组件属性
属性名 | 类型 | 默认值 | 说明 |
---|---|---|---|
无 | - | - | 暂无属性 |
组件事件
事件名 | 说明 | 返回值 | |
---|---|---|---|
无 | - | - | 暂无事件 |
组件方法
方法名 | 说明 | 参数 | 返回值 |
---|---|---|---|
initEngine | 初始化缓存引擎 | - | Promise |
set | 设置缓存 | key: string, value: any, options?: object | Promise |
get | 获取缓存 | key: string | Promise |
remove | 删除缓存 | key: string | Promise |
clear | 清空缓存 | - | Promise |
sync | 同步缓存 | - | Promise |
方法调用示例
// 设置缓存
const success = await cacheEngineRef.value.set('user_info', {
id: 1,
name: '张三',
age: 25
});
// 获取缓存
const userInfo = await cacheEngineRef.value.get('user_info');
// 删除缓存
const removed = await cacheEngineRef.value.remove('user_info');
// 清空缓存
const cleared = await cacheEngineRef.value.clear();
// 同步缓存
const synced = await cacheEngineRef.value.sync();
缓存配置
组件支持以下配置选项:
const config = {
maxSize: 100 * 1024 * 1024, // 最大缓存大小(100MB)
maxAge: 7 * 24 * 60 * 60 * 1000, // 最大缓存时间(7天)
maxItems: 1000, // 最大缓存项数
engine: 'sqlite', // 存储引擎类型
encryption: true, // 是否启用加密
syncInterval: 5 * 60 * 1000 // 同步间隔(5分钟)
};
注意事项
- 缓存引擎会自动初始化,无需手动调用
- 数据加密功能需要设备指纹支持
- 同步功能需要网络连接
- 缓存大小和数量有限制,超出限制会自动清理
常见问题
Q: 如何选择合适的存储引擎?
A: 组件会自动根据平台选择最优的存储引擎,App 端使用 SQLite,H5 端使用 IndexedDB。
Q: 如何处理数据同步冲突?
A: 组件使用版本号机制处理同步冲突,高版本数据会覆盖低版本数据。
Q: 如何优化缓存性能?
A: 可以通过调整配置参数优化性能,如设置合适的缓存大小、过期时间和同步间隔。
更新日志
v1.0.0 (2024-03-20)
- 初始版本发布
- 支持双引擎存储
- 支持数据加密
- 支持离线同步
- 支持 LRU 缓存淘汰