更新记录
1.0.0(2025-04-08) 下载此版本
- 双引擎支持:基于 SQLite + IndexedDB 双引擎适配,自动选择最优存储方案
 - LRU 缓存淘汰:智能的缓存淘汰策略,自动清理过期和低频数据
 - 数据加密存储:使用 AES-256 加密算法,支持设备指纹绑定
 - 离线数据同步:支持离线数据自动同步和冲突解决
 - 性能优化:批量操作和异步处理,提供最佳性能表现
 
平台兼容性
uni-app
| Vue2 | Vue3 | Chrome | Safari | app-vue | app-nvue | Android | iOS | 鸿蒙 | 
|---|---|---|---|---|---|---|---|---|
| √ | √ | √ | √ | - | - | - | - | - | 
| 微信小程序 | 支付宝小程序 | 抖音小程序 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 快应用-华为 | 快应用-联盟 | 
|---|---|---|---|---|---|---|---|---|---|---|
| √ | √ | √ | √ | √ | √ | √ | √ | √ | √ | √ | 
其他
| 多语言 | 暗黑模式 | 宽屏模式 | 
|---|---|---|
| × | × | √ | 
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 缓存淘汰
 

                                                                    
                                                                        收藏人数:
                                    
                                                                                https://gitee.com/leheya/uniapp-tool-collection
                                    
                                                        下载插件并导入HBuilderX
                                                    
                                        赞赏(0)
                                    
                                            
                                            
 下载 158
                
 赞赏 0
                
            
                    下载 10685145 
                
                        赞赏 1797 
                    
            
            
            
            
            
            
            
            
            
            
            
            
            
            
                        
                                赞赏
                            
            
京公网安备:11010802035340号