怎么做网站安全运维/网址之家

怎么做网站安全运维,网址之家,天津西青区有哪些大学,网站建设好以后怎么管理数据缓存API 在 uni-app 开发中,数据缓存 API 起着重要作用,它能够将需要的数据保存到本地,同时也提供了获取本地缓存数据、移除缓存数据以及清理缓存数据的功能。在实际项目里,数据缓存 API 常被用于存储会员登录状态信息、购物…

数据缓存API

在 uni-app 开发中,数据缓存 API 起着重要作用,它能够将需要的数据保存到本地,同时也提供了获取本地缓存数据、移除缓存数据以及清理缓存数据的功能。在实际项目里,数据缓存 API 常被用于存储会员登录状态信息、购物车数据、用户浏览历史记录等。这些数据若频繁从服务器获取,会增加网络开销和响应时间,使用本地缓存能有效提升应用性能和用户体验。

将数据缓存到本地

在 uni-app 中,有两种方式可以将数据缓存到本地,分别是uni.setStorage(OBJECT)和uni.setStorageSync(KEY, DATA)。

  1. uni.setStorage(OBJECT)
    • 此方法以异步方式将数据存储在本地缓存指定的key中,会覆盖掉key原来对应的内容。
    • 参数说明
      • key(必填):本地缓存中指定的key,通过这个key来唯一标识缓存的数据。
      • data(必填):需要缓存的内容,这里只支持原生类型(如字符串、数字、布尔值等)和能通过JSON.stringify序列化的对象。
      • success、fail、complete:这三个是回调函数。success在数据成功缓存到本地后触发;fail在缓存过程中出现错误时触发;complete无论缓存操作成功与否,在操作结束时都会执行。
    • 示例代码
let userInfo = {name: '张三', age: 25};
uni.setStorage({key: 'user_info',data: userInfo,success: function () {console.log('数据缓存成功');},fail: function (err) {console.log('数据缓存失败', err);},complete: function () {console.log('缓存操作结束');}
});
  1. uni.setStorageSync(KEY, DATA)
    • 该方法以同步方式将数据存储在本地缓存指定的key中,同样会覆盖掉key原来对应的内容。相较于异步缓存方式,它的代码编写更为简洁。
    • 参数说明
      • key(必填):本地缓存中指定的key。
      • data(必填):需要缓存的内容,要求与uni.setStorage中的data一致,只支持原生类型和能通过JSON.stringify序列化的对象。
    • 同步与异步的区别

同步:等本地缓存成功后,再执行下面的程序

异步:不需要等待本地缓存成功,就可以执行下面的程序

在数据缓存比较耗时的情况下,可以使用异步方式进行数据缓存。

    • 示例代码
let userInfo = {name: '李四', age: 30};
try {uni.setStorageSync('user_info', userInfo);console.log('数据同步缓存成功');
} catch (err) {console.log('数据同步缓存失败', err);
}

不论是同步还是异步方式,本质上都是以 “key/value” 的形式存储数据的。

获取本地缓存数据

uni-app 为获取本地缓存数据提供了 4 个 API,分别从不同角度满足开发者获取缓存数据的需求。

  1. uni.getStorage(OBJECT)
    • 此方法以异步方式从本地缓存中获取key对应的数据。
    • 参数说明
      • key(必填):本地缓存中指定的key,通过这个key来获取对应的数据。
      • success、fail、complete:回调函数。success在成功获取到数据时触发,返回的数据在回调函数的参数中;fail在获取数据失败时触发;complete在操作结束时执行。
    • 示例代码
uni.getStorage({key: 'user_info',success: function (res) {console.log('获取数据成功', res.data);},fail: function (err) {console.log('获取数据失败', err);},complete: function () {console.log('获取数据操作结束');}
});
  1. uni.getStorageSync(KEY)
    • 这是一个同步的 API,只有一个参数key。它从本地缓存中以同步方式获取key对应的数据。
    • 示例代码
try {let userInfo = uni.getStorageSync('user_info');console.log('同步获取数据成功', userInfo);
} catch (err) {console.log('同步获取数据失败', err);
}
  1. uni.getStorageInfo(OBJECT)
    • 该方法以异步方式获取本地所有key的集合。
    • 参数说明
      • success、fail、complete:回调函数。success回调函数的参数有keys(本地所有key组成的数组)、currentSize(当前本地缓存占用的空间大小)、limitSize(本地缓存允许的最大空间大小)。通过这些参数,开发者可以了解本地缓存的整体情况。
    • 示例代码
uni.getStorageInfo({success: function (res) {console.log('获取本地缓存信息成功', res.keys);console.log('当前缓存大小', res.currentSize);console.log('缓存限制大小', res.limitSize);},fail: function (err) {console.log('获取本地缓存信息失败', err);},complete: function () {console.log('获取本地缓存信息操作结束');}
});
  1. uni.getStorageInfoSync()
    • 此方法以同步方式获取本地所有key的集合。
    • 示例代码
try {let storageInfo = uni.getStorageInfoSync();console.log('同步获取本地缓存信息成功', storageInfo.keys);console.log('当前缓存大小', storageInfo.currentSize);console.log('缓存限制大小', storageInfo.limitSize);
} catch (err) {console.log('同步获取本地缓存信息失败', err);
}

前两个 API(uni.getStorage和uni.getStorageSync)用于从指定key获得缓存数据,而后两个(uni.getStorageInfo和uni.getStorageInfoSync)则是获取本地所有key的集合。

清理本地缓存数据

在开发中,有时需要清理本地缓存数据,uni-app 提供了相应的 API 来实现这一功能。

  1. uni.removeStorage(OBJECT)
    • 此方法以异步方式从本地缓存中移除指定key。
    • 参数说明
      • key:本地缓存中要移除的key。
      • success、fail、complete:回调函数。success在成功移除key对应的数据后触发;fail在移除过程中出现错误时触发;complete在操作结束时执行。
    • 示例代码
uni.removeStorage({key: 'user_info',success: function () {console.log('数据移除成功');},fail: function (err) {console.log('数据移除失败', err);},complete: function () {console.log('移除数据操作结束');}
});
  1. uni.removeStorageSync(KEY)
    • 该方法以同步方式从本地缓存中移除指定的key。
    • 示例代码
try {uni.removeStorageSync('user_info');console.log('数据同步移除成功');
} catch (err) {console.log('数据同步移除失败', err);
}
  1. uni.clearStorage () 和 uni.clearStorageSync ()
    • 这两个方法用来清理本地所有缓存数据。uni.clearStorage()采用异步方式,uni.clearStorageSync()采用同步方式。
    • 示例代码(异步)
uni.clearStorage({success: function () {console.log('所有缓存数据异步清理成功');},fail: function (err) {console.log('所有缓存数据异步清理失败', err);},complete: function () {console.log('异步清理缓存操作结束');}
});
  • 示例代码(同步)
try {uni.clearStorageSync();console.log('所有缓存数据同步清理成功');
} catch (err) {console.log('所有缓存数据同步清理失败', err);
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/73091.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue3:十一、主页面布局(优化页面跳转方式)

:router"true" 一、参考文章 vue3:十一、主页面布局(实现基本左侧菜单右侧内容效果)-CSDN博客 参考上述文章可知,页面跳转是通过在js中定义的菜单中携带的path,然后通过菜单的点击事件完成的跳转,现在可以进行优化,直…

Etcd 服务搭建

💢欢迎来到张胤尘的开源技术站 💥开源如江河,汇聚众志成。代码似星辰,照亮行征程。开源精神长,传承永不忘。携手共前行,未来更辉煌💥 文章目录 Etcd 服务搭建预编译的二进制文件安装下载 etcd 的…

EmbodiedSAM:在线实时3D实例分割,利用视觉基础模型实现高效场景理解

2025-02-12,由清华大学和南洋理工大学的研究团队开发 一种名为 EmbodiedSAM(ESAM)的在线3D实例分割框架。该框架利用2D视觉基础模型辅助实时3D场景理解,解决了高质量3D数据稀缺的难题,为机器人导航、操作等任务提供了高…

信创-人大金仓数据库创建

一. 官文 资源下载地址 https://download.kingbase.com.cn/xzzx/index.htm 下载安装文件 下载授权文件 产品文档地址:https://help.kingbase.com.cn/v8/index.html 二. 概念 2.1 体系结构 ‌ 实例结构 ‌:由数据库文件和 KingbaseES 实例组成。数据…

HCIA-AI人工智能笔记3:数据预处理

统讲解数据预处理的核心技术体系,通过Python/Pandas与华为MindSpore双视角代码演示,结合特征工程优化实验,深入解析数据清洗、标准化、增强等关键环节。 一、数据预处理技术全景图 graph TD A[原始数据] --> B{数据清洗} B --> B1[缺…

G-Star 校园开发者计划·黑科大|开源第一课之 Git 入门

万事开源先修 Git。Git 是当下主流的分布式版本控制工具,在软件开发、文档管理等方面用处极大。它能自动记录文件改动,简化合并流程,还特别适合多人协作开发。学会 Git,就相当于掌握了一把通往开源世界的钥匙,以后参与…

WEB攻防-PHP反序列化-字符串逃逸

目录 前置知识 字符串逃逸-减少 字符串逃逸-增多 前置知识 1.PHP 在反序列化时,语法是以 ; 作为字段的分隔,以 } 作为结尾,在结束符}之后的任何内容不会影响反序列化的后的结果 class people{ public $namelili; public $age20; } var_du…

把生产队的大模型Grok 3 beta用来实现字帖打磨

第一个版本,就是简单的田字格,Grok 3 beta 思考了15s就得到了html前端代码,javascript; 然而还不完美; 第二个版本,进一步,通过pinyin项目给汉字加上注音,米字格和四线格;&#xff…

windows+ragflow+deepseek实战之一excel表查询

ragflows平台部署参考文章 Win10系统Docker+DeepSeek+ragflow搭建本地知识库 ragflow通过python实现参考这篇文章 ragflow通过python实现 文章目录 背景效果1、准备数据2、创建知识库3、上传数据并解析4、新建聊天助理5、测试会话背景 前面已经基于Win10系统Docker+DeepSeek+…

【架构】单体架构 vs 微服务架构:如何选择最适合你的技术方案?

文章目录 ⭐前言⭐一、架构设计的本质差异🌟1、代码与数据结构的对比🌟2、技术栈的灵活性 ⭐二、开发与维护的成本博弈🌟1、开发效率的阶段性差异🌟2、维护成本的隐形陷阱 ⭐三、部署与扩展的实战策略🌟1、部署模式的本…

C#实现分段三次Hermite插值

目录 一、Hermite插值介绍 1、功能说明 2、数学方法 二、代码实现 1、CubicHermiteInterpolator类封装 2、应用示例 三、导数值的获取方式 1、数学方法介绍 2、代码应用示例 四、其它封装的分段三次Hermite插值类 1、方式一 (1)封装代码 &…

重要重要!!fisher矩阵元素有什么含义和原理; Fisher 信息矩阵的形式; 得到fisher矩阵之后怎么使用

fisher矩阵元素有什么含义和原理 目录 fisher矩阵元素有什么含义和原理一、对角线元素( F i , i F_{i,i} Fi,i​)的含义与原理二、非对角线元素( F i , j F_{i,j} Fi,j​)的含义与原理Fisher 信息矩阵的形式矩阵的宽度有位置权重数量决定1. **模型参数结构决定矩阵维度**2.…

docker速通

docker 镜像操作搜索镜像拉取镜像查看镜像删除镜像 容器操作!查看容器运行容器run命令详细介绍 启动容器停止容器重启容器查看容器状态查看容器日志删除容器进入容器 保存镜像提交保存加载 分享社区登录命名推送 docker存储目录挂载卷映射查看所有容器卷创建容器卷查看容器卷详…

Python、MATLAB和PPT完成数学建模竞赛中的地图绘制

参加数学建模比赛时,很多题目——诸如统计类、数据挖掘类、环保类、建议类的题目总会涉及到地理相关的情景,往往要求我们制作与地图相关的可视化内容。如下图,这是21年亚太赛的那道塞罕坝的题目,期间涉及到温度、降水和森林覆盖率…

DeepSeek R1 本地部署指南 (3) - 更换本地部署模型 Windows/macOS 通用

0.准备 完成 Windows 或 macOS 安装: DeepSeek R1 本地部署指南 (1) - Windows 本地部署-CSDN博客 DeepSeek R1 本地部署指南 (2) - macOS 本地部署-CSDN博客 以下内容 Windows 和 macOS 命令执行相同: Windows 管理员启动:命令提示符 CMD ma…

k8s中service概述(二)NodePort

NodePort 是 Kubernetes 中一种用于对外暴露服务的 Service 类型。它通过在集群的每个节点上开放一个静态端口(NodePort),使得外部用户可以通过节点的 IP 地址和该端口访问集群内部的服务。以下是关于 NodePort Service 的详细说明&#xff1…

Linux系统崩溃破案实录

现代计算环境中,系统的稳定性和可靠性至关重要。然而,即使是最优化的系统也可能会由于硬件故障、软件漏洞或配置错误而崩溃。为了解决这一问题,Linux系统提供了强大的内核崩溃转储机制,本文介绍如何收集和分析崩溃日志&#xff0c…

tcping 命令的使用,ping IP 和端口

1. ‌Windows系统安装‌ ‌下载tcping工具‌:根据系统位数(32位或64位)下载对应的tcping.exe文件。‌安装步骤‌: 将下载的tcping.exe文件复制到C:\Windows\System32目录下。如果下载的是64位版本,需将文件名改为tcpi…

深度学习框架PyTorch——从入门到精通(6.1)自动微分

使用torch.autograd自动微分 张量、函数和计算图计算梯度禁用梯度追踪关于计算图的更多信息张量梯度和雅可比乘积 在训练神经网络时,最常用的算法是反向传播。在该算法中,参数(模型权重)根据损失函数的梯度相对于给定参数进行调整…

阶跃星辰开源300亿参数视频模型Step-Video-TI2V:运动可控+102帧长视频生成

阶跃星辰(StepFun)正式开源其新一代图生视频模型 Step-Video-TI2V ,该模型基于300亿参数的Step-Video-T2V训练,支持文本与图像联合驱动生成长达102帧的高质量视频,在运动控制与场景适配性上实现突破。 核心亮点 …