鸿蒙语言基础类库:【@ohos.data.storage (轻量级存储)】

轻量级存储

轻量级存储为应用提供key-value键值型的文件数据处理能力,支持应用对数据进行轻量级存储及查询。数据存储形式为键值对,键的类型为字符串型,值的存储数据类型包括数字型、字符型、布尔型。

说明:
开发前请熟悉鸿蒙开发指导文档gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md点击或者复制转到。

  • 本模块首批接口从API version 6开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
  • 从API Version 9开始,该接口不再维护,推荐使用新接口[@ohos.data.preferences]。

导入模块

import data_storage from '@ohos.data.storage';

常量

系统能力: 以下各项对应的系统能力均为SystemCapability.DistributedDataManager.Preferences.Core

名称参数类型可读可写说明
MAX_KEY_LENGTHstringkey的最大长度限制,需小于80字节。
MAX_VALUE_LENGTHstringvalue的最大长度限制,需小于8192字节。

data_storage.getStorageSync

getStorageSync(path: string): Storage

读取指定文件,将数据加载到Storage实例,用于数据操作。

系统能力: SystemCapability.DistributedDataManager.Preferences.Core

参数:

参数名类型必填说明
pathstring应用程序内部数据存储路径。

返回值:

类型说明
[Storage]获取到要操作的Storage实例,用于进行数据存储操作。

示例:

import data_storage from '@ohos.data.storage'let path = '/data/storage/el2/database'
let storage = data_storage.getStorageSync(path + '/mystore')
storage.putSync('startup', 'auto')
storage.flushSync()

data_storage.getStorage

getStorage(path: string, callback: AsyncCallback): void

读取指定文件,将数据加载到Storage实例,用于数据操作,使用callback方式返回结果,此方法为异步方法。

系统能力: SystemCapability.DistributedDataManager.Preferences.Core

参数:

参数名类型必填说明
pathstring应用程序内部数据存储路径。
callbackAsyncCallback<[Storage]>回调函数。

示例:

import data_storage from '@ohos.data.storage'let path = '/data/storage/el2/database'
data_storage.getStorage(path + '/mystore', function (err, storage) {if (err) {console.info("Get the storage failed, path: " + path + '/mystore')return;}storage.putSync('startup', 'auto')storage.flushSync()
})

data_storage.getStorage

getStorage(path: string): Promise

读取指定文件,将数据加载到Storage实例,用于数据操作,使用Promise方式返回结果,此方法为异步方法。

系统能力: SystemCapability.DistributedDataManager.Preferences.Core

参数:

参数名类型必填说明
pathstring应用程序内部数据存储路径。

返回值:

类型说明
Promise<[Storage]>Promise实例,用于异步获取结果。

示例:

import data_storage from '@ohos.data.storage'let path = '/data/storage/el2/database'let getPromise = data_storage.getStorage(path + '/mystore')
getPromise.then((storage) => {storage.putSync('startup', 'auto')storage.flushSync()
}).catch((err) => {console.info("Get the storage failed, path: " + path + '/mystore')
})

data_storage.deleteStorageSync

deleteStorageSync(path: string): void

从内存中移除指定文件对应的Storage单实例,并删除指定文件及其备份文件、损坏文件。删除指定文件时,应用不允许再使用该实例进行数据操作,否则会出现数据一致性问题。

系统能力: SystemCapability.DistributedDataManager.Preferences.Core

参数:

参数名类型必填说明
pathstring应用程序内部数据存储路径。

示例:

let path = '/data/storage/el2/database'
data_storage.deleteStorageSync(path + '/mystore')

data_storage.deleteStorage

deleteStorage(path: string, callback: AsyncCallback): void

从内存中移除指定文件对应的Storage单实例,并删除指定文件及其备份文件、损坏文件。删除指定文件时,应用不允许再使用该实例进行数据操作,否则会出现数据一致性问题,使用callback方式返回结果,此方法为异步方法。

系统能力: SystemCapability.DistributedDataManager.Preferences.Core

参数:

参数名类型必填说明
pathstring应用程序内部数据存储路径。
callbackAsyncCallback回调函数。

示例:

let path = '/data/storage/el2/database'
data_storage.deleteStorage(path + '/mystore', function (err) {if (err) {console.info("Deleted failed with err: " + err)return}console.info("Deleted successfully.")
})

data_storage.deleteStorage

deleteStorage(path: string): Promise

从内存中移除指定文件对应的Storage单实例,并删除指定文件及其备份文件、损坏文件。删除指定文件时,应用不允许再使用该实例进行数据操作,否则会出现数据一致性问题,使用promise方式返回结果,此方法为异步方法。

系统能力: SystemCapability.DistributedDataManager.Preferences.Core

参数:

参数名类型必填说明
pathstring应用程序内部数据存储路径。

返回值:

类型说明
PromisePromise实例,用于异步获取结果。

示例:

let path = '/data/storage/el2/database'
let promisedelSt = data_storage.deleteStorage(path + '/mystore')
promisedelSt.then(() => {console.info("Deleted successfully.")
}).catch((err) => {console.info("Deleted failed with err: " + err)
})

data_storage.removeStorageFromCacheSync

removeStorageFromCacheSync(path: string): void

从内存中移除指定文件对应的Storage单实例。移除Storage单实例时,应用不允许再使用该实例进行数据操作,否则会出现数据一致性问题。

系统能力: SystemCapability.DistributedDataManager.Preferences.Core

参数:

参数名类型必填说明
pathstring应用程序内部数据存储路径。

示例:

let path = '/data/storage/el2/database'
data_storage.removeStorageFromCacheSync(path + '/mystore')

data_storage.removeStorageFromCache

removeStorageFromCache(path: string, callback: AsyncCallback): void

从内存中移除指定文件对应的Storage单实例。移除Storage单实例时,应用不允许再使用该实例进行数据操作,否则会出现数据一致性问题。使用callback方式返回结果,此方法为异步方法。

系统能力: SystemCapability.DistributedDataManager.Preferences.Core

参数:

参数名类型必填说明
pathstring应用程序内部数据存储路径。
callbackAsyncCallback回调函数。

示例:

let path = '/data/storage/el2/database'
data_storage.removeStorageFromCache(path + '/mystore', function (err) {if (err) {console.info("Removed storage from cache failed with err: " + err)return}console.info("Removed storage from cache successfully.")
})

data_storage.removeStorageFromCache

removeStorageFromCache(path: string): Promise

从内存中移除指定文件对应的Storage单实例。移除Storage单实例时,应用不允许再使用该实例进行数据操作,否则会出现数据一致性问题。使用Promise方式返回结果,此方法为异步方法。

系统能力: SystemCapability.DistributedDataManager.Preferences.Core

参数:

参数名类型必填说明
pathstring应用程序内部数据存储路径。

返回值:

类型说明
PromisePromise实例,用于异步获取结果。

示例:

let path = '/data/storage/el2/database'
let promiserevSt = data_storage.removeStorageFromCache(path + '/mystore')
promiserevSt.then(() => {console.info("Removed storage from cache successfully.")
}).catch((err) => {console.info("Removed storage from cache failed with err: " + err)
})

Storage

提供获取和修改存储数据的接口。

getSync

getSync(key: string, defValue: ValueType): ValueType

获取键对应的值,如果值为null或者非默认值类型,返回默认数据。

系统能力: SystemCapability.DistributedDataManager.Preferences.Core

参数:

参数名类型必填说明
keystring要获取的存储key名称,不能为空。
defValue[ValueType]给定key的存储不存在,则要返回的默认值。支持number、string、boolean。

返回值:

类型说明
ValueType键对应的值,如果值为null或者非默认值类型,返回默认数据。

示例:

let value = storage.getSync('startup', 'default')
console.info("The value of startup is " + value)

get

get(key: string, defValue: ValueType, callback: AsyncCallback): void

获取键对应的值,如果值为null或者非默认值类型,返回默认数据。使用callback方式返回结果,此方法为异步方法。

系统能力: SystemCapability.DistributedDataManager.Preferences.Core

参数:

参数名类型必填说明
keystring要获取的存储key名称,不能为空。
defValue[ValueType]默认返回值。支持number、string、boolean。
callbackAsyncCallback回调函数。

示例:

storage.get('startup', 'default', function(err, value) {if (err) {console.info("Get the value of startup failed with err: " + err)return}console.info("The value of startup is " + value)
})

get

get(key: string, defValue: ValueType): Promise

获取键对应的值,如果值为null或者非默认值类型,返默认数据。使用Promise方式返回结果,此方法为异步方法。

系统能力: SystemCapability.DistributedDataManager.Preferences.Core

参数:

参数名类型必填说明
keystring要获取的存储key名称,不能为空。
defValue[ValueType]默认返回值。支持number、string、boolean。

返回值:

类型说明
PromisePromise实例,用于异步获取结果。

示例:

let promiseget = storage.get('startup', 'default')
promiseget.then((value) => {console.info("The value of startup is " + value)
}).catch((err) => {console.info("Get the value of startup failed with err: " + err)
})

putSync

putSync(key: string, value: ValueType): void

首先获取指定文件对应的Storage实例,然后借助Storage API将数据写入Storage实例,通过flush或者flushSync将Storage实例持久化。

系统能力: SystemCapability.DistributedDataManager.Preferences.Core

参数:

参数名类型必填说明
keystring要修改的存储的key,不能为空。
value[ValueType]存储的新值。支持number、string、boolean。

示例:

storage.putSync('startup', 'auto')

put

put(key: string, value: ValueType, callback: AsyncCallback): void

首先获取指定文件对应的Storage实例,然后借助Storage API将数据写入Storage实例,通过flush或者flushSync将Storage实例持久化。使用callback方式返回结果,此方法为异步方法。

系统能力: SystemCapability.DistributedDataManager.Preferences.Core

参数:

参数名类型必填说明
keystring要修改的存储的key,不能为空。
value[ValueType]存储的新值。支持number、string、boolean。
callbackAsyncCallback回调函数。

示例:

storage.put('startup', 'auto', function (err) {if (err) {console.info("Put the value of startup failed with err: " + err)return}console.info("Put the value of startup successfully.")
})

put

put(key: string, value: ValueType): Promise

首先获取指定文件对应的Storage实例,然后借助Storage API将数据写入Storage实例,通过flush或者flushSync将Storage实例持久化。使用Promise方式返回结果,此方法为异步方法。

系统能力: SystemCapability.DistributedDataManager.Preferences.Core

参数:

参数名类型必填说明
keystring要修改的存储的key,不能为空。
value[ValueType]存储的新值。支持number、string、boolean。

返回值:

类型说明
PromisePromise实例,用于异步处理。

示例:

let promiseput = storage.put('startup', 'auto')
promiseput.then(() => {console.info("Put the value of startup successfully.")
}).catch((err) => {console.info("Put the value of startup failed with err: " + err)
})

hasSync

hasSync(key: string): boolean

检查存储对象是否包含名为给定key的存储。

系统能力: SystemCapability.DistributedDataManager.Preferences.Core

参数:

参数名类型必填说明
keystring要获取的存储key名称,不能为空。

返回值:

类型说明
booleantrue 表示存在,false表示不存在。

示例:

let isExist = storage.hasSync('startup')
if (isExist) {console.info("The key of startup is contained.")
}

has

has(key: string, callback: AsyncCallback): boolean

检查存储对象是否包含名为给定key的存储。使用callback方式返回结果,此方法为异步方法。

系统能力: SystemCapability.DistributedDataManager.Preferences.Core

参数:

参数名类型必填说明
keystring要获取的存储key名称,不能为空。
callbackAsyncCallback回调函数。

返回值:

类型说明
booleantrue表示存在,false表示不存在。

示例:

storage.has('startup', function (err, isExist) {if (err) {console.info("Check the key of startup failed with err: " + err)return}if (isExist) {console.info("The key of startup is contained.")}
})

has

has(key: string): Promise

检查存储对象是否包含名为给定key的存储。使用Promise方式返回结果,此方法为异步方法。

系统能力: SystemCapability.DistributedDataManager.Preferences.Core

参数:

参数名类型必填说明
keystring要获取的存储key名称,不能为空。

返回值:

类型说明
PromisePromise实例,用于异步处理。

示例:

let promisehas = storage.has('startup')
promisehas.then((isExist) => {if (isExist) {console.info("The key of startup is contained.")}
}).catch((err) => {console.info("Check the key of startup failed with err: " + err)
})

deleteSync

deleteSync(key: string): void

从存储对象中删除名为给定key的存储。

系统能力: SystemCapability.DistributedDataManager.Preferences.Core

参数:

参数名类型必填说明
keystring要获取的存储key名称。它不能为空。

示例:

storage.deleteSync('startup')

delete

delete(key: string, callback: AsyncCallback): void

从存储对象中删除名为给定key的存储。使用callback方式返回结果,此方法为异步方法。

系统能力: SystemCapability.DistributedDataManager.Preferences.Core

参数:

参数名类型必填说明
keystring要获取的存储key名称,不能为空。
callbackAsyncCallback回调函数。

示例:

storage.delete('startup', function (err) {if (err) {console.info("Delete startup key failed with err: " + err)return}console.info("Deleted startup key successfully.")
})

delete

delete(key: string): Promise

从存储对象删除名为给定key的存储。使用Promise方式返回结果,此方法为异步方法。

系统能力: SystemCapability.DistributedDataManager.Preferences.Core

参数:

参数名类型必填说明
keystring要获取的存储key名称。

返回值:

类型说明
PromisePromise实例,用于异步处理。

示例:

let promisedel = storage.delete('startup')
promisedel.then(() => {console.info("Deleted startup key successfully.")
}).catch((err) => {console.info("Delete startup key failed with err: " + err)
})

flushSync

flushSync(): void

将当前storage对象中的修改保存到当前的storage,并同步存储到文件中。

系统能力: SystemCapability.DistributedDataManager.Preferences.Core

示例:

storage.flushSync()

flush

flush(callback: AsyncCallback): void

将当前storage对象中的修改保存到当前的storage,并异步存储到文件中。使用callback方式返回结果,此方法为异步方法。

系统能力: SystemCapability.DistributedDataManager.Preferences.Core

参数:

参数名类型必填说明
callbackAsyncCallback回调函数。

示例:

storage.flush(function (err) {if (err) {console.info("Flush to file failed with err: " + err)return}console.info("Flushed to file successfully.")
})

flush

flush(): Promise

将当前storage对象中的修改保存到当前的storage,并异步存储到文件中。使用Promise方式返回结果,此方法为异步方法。

系统能力: SystemCapability.DistributedDataManager.Preferences.Core

返回值:

类型说明
PromisePromise实例,用于异步处理。

示例:

let promiseflush = storage.flush()
promiseflush.then(() => {console.info("Flushed to file successfully.")
}).catch((err) => {console.info("Flush to file failed with err: " + err)
})

clearSync

clearSync(): void

清除此存储对象中的所有存储。

系统能力: SystemCapability.DistributedDataManager.Preferences.Core

示例:

storage.clearSync()

clear

clear(callback: AsyncCallback): void

清除此存储对象中的所有存储。使用callback方式返回结果,此方法为异步方法。

系统能力: SystemCapability.DistributedDataManager.Preferences.Core

参数:

参数名类型必填说明
callbackAsyncCallback回调函数。

示例:

storage.clear(function (err) {if (err) {console.info("Clear to file failed with err: " + err)return}console.info("Cleared to file successfully.")
})

clear

clear(): Promise

清除此存储对象中的所有存储。使用Promise方式返回结果,此方法为异步方法。

系统能力: SystemCapability.DistributedDataManager.Preferences.Core

返回值:

类型说明
PromisePromise实例,用于异步处理。

示例:

let promiseclear = storage.clear()
promiseclear.then(() => {console.info("Cleared to file successfully.")
}).catch((err) => {console.info("Clear to file failed with err: " + err)
})

on(‘change’)

on(type: ‘change’, callback: Callback): void

订阅数据变更者类需要实现StorageObserver接口,订阅的key的值发生变更后,在执行flush/flushSync方法后,callback方法会被回调。

系统能力: SystemCapability.DistributedDataManager.Preferences.Core

参数:

参数名类型说明
typestring事件类型,固定值’change’,表示数据变更。
callbackCallback<[StorageObserver]>回调对象实例。

示例:

var observer = function (key) {console.info("The key of " + key + " changed.")
}
storage.on('change', observer)
storage.putSync('startup', 'auto')
storage.flushSync()  // observer will be called.

off(‘change’)

off(type: ‘change’, callback: Callback): void

当不再进行订阅数据变更时,使用此接口取消订阅。

系统能力: SystemCapability.DistributedDataManager.Preferences.Core

参数:

参数名类型说明
typestring事件类型,固定值’change’,表示数据变更。
callbackCallback<[StorageObserver]>需要取消的回调对象实例。

示例:

var observer = function (key) {console.info("The key of " + key + " changed.")
}
storage.off('change', observer)

在这里插入图片描述

StorageObserver

系统能力: 以下各项对应的系统能力均为SystemCapability.DistributedDataManager.Preferences.Core

名称参数类型必填说明 HarmonyOS与OpenHarmony鸿蒙文档籽料:mau123789是v直接拿
keystring变更的数据内容。

ValueType

用于表示允许的数据字段类型。

系统能力: SystemCapability.DistributedDataManager.Preferences.Core

名称说明
number表示值类型为数字。
string表示值类型为字符。
boolean表示值类型为布尔值。

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

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

相关文章

Android表格布局的概念与属性

表格布局的概念与属性 表格布局&#xff08;TableLayout&#xff09;是以行、列的形式来管理控件的&#xff0c;类似与表格。如图所示&#xff0c;是一个表格布局。TableLayout继承自LinearLayout&#xff0c;支持LinearLayout所支持的全部属性&#xff0c;默认为垂直方向的Li…

第一个基于FISCOBCOS的前后端项目(发行转账)(已开源)

本文旨在介绍一个简单的基于fiscobcos的前后端网站应用。Springbootjs前后端不分离。 所使用到的合约也是一个最基本的。首先您需要知道的是完整项目分为三部分&#xff0c;1是区块链平台webase搭建&#xff08;此项目使用节点前置webase-front即可&#xff09;&#xff0c;2是…

预测算法面试

这次面试的是一个预测算法的岗位。虽然我对供应链相关的预测很厌烦了&#xff0c;但是这个不是供应链领域的&#xff0c;感觉应该还好。 首先在介绍工作经历和项目部分&#xff0c;这次面试没有上来没有条理乱说一气&#xff0c;而是预测目标、算法架构、各种使用特征这些分层…

游戏AI的创造思路-技术基础-行为树

行为树源自于游戏&#xff0c;但又不单单局限在游戏中&#xff0c;现代的行为树为游戏提供了一套快速简洁的控制NPC/AI的方法。所以本篇来讲讲行为树这个老祖宗~~~~ 目录 1. 行为树的定义 2. 发展历史 2.1. 起源与早期发展 2.2. 关键节点与重要进展 2.3. 当前现状与未来 …

ubuntu 换源

sudo apt update 错误如下 Ign:1 http://security.ubuntu.com/ubuntu focal-security InRelease Ign:2 http://us.archive.ubuntu.com/ubuntu focal InRelease Err:3 http://security.ubuntu.com/ubuntu focal-security Release SECURITY: URL redirect target…

人工智能讲座——深度学习实现行人重识别

目录 一、引言 二、深度学习基本概念 三、损失函数 一、引言 1、在不同的监控检测同一行人&#xff0c;实现行人的监测。 2、文本描述行人特征。根据文本描述寻找行人。 是图像检索问题&#xff0c;检索对象是行人。 标本图像与待查询图像相似度对比&#xff0c;相似度从…

人工智能大模型讲师培训老师叶梓介绍及多模态大模型原理与实践提纲

培训需要解决的问题 通过本次培训&#xff0c;拓展对多模态AI应用领域的视野&#xff0c;帮助团队聚焦AI赋能创新突破&#xff0c;提升对AI服务的技术认知与理解&#xff0c;更好地助力业务智能化业务建设。 培训时长 1天 培训老师介绍 叶梓&#xff0c;工学博士&#xff0…

python零基础爬虫教程,(实战案例手把手教你Python爬虫教程!)

前言 女朋友看了都能学会的爬虫教学 自己断断续续学习练习了两三年python爬虫&#xff0c;从网上看了无数教程&#xff0c;跟大神们学习了各种神奇的操作&#xff0c;现在虽然没成为大神&#xff0c;但是想通过这篇教程来分享自己学习的爬虫实战案例。 通过本教程&#xff0c;你…

Linux程序替换

前言 上一期对进程的创建、终止、以及等待做了详细的介绍&#xff0c;对于进程控制的内容基本介绍的差不多了&#xff0c;本期来介绍进程控制的最后一个内容即进程的程序替换&#xff01; 本期内容介绍 • 什么是进程的程序替换 • 单进程的程序替换 • 程序替换的基本原理 •…

代码优化方法记录

每次代码 review 之后&#xff0c;对 review 的情况进行总结记录&#xff0c;产出实际经验&#xff0c;方便组内学习、分享。 1、提取公共内容 公共内容要提取&#xff0c;避免重复编写&#xff1b; 2、css 色值使用变量 css 中的色值、字体&#xff0c;都换成组件库中的变…

在 IVS 2024 加密盛会上开拓创新:CESS 引领去中心化云存储和 CD²N 之发展

作为基于区块链的去中心化云存储网络和 CDN 基础设施网络&#xff0c;CESS 在日本年度加密创业大会 IVS 2024 上成为焦点&#xff01;此次活动在历史悠久的京都举办&#xff0c;围绕“跨越边界”这一主题&#xff0c;吸引了超过15,000 名参会者&#xff0c;其中包括 3,000 创始…

docker/podman 安装nacos

设置环境变量&#xff0c;创建卷目录&#xff1a; VOL_HOME/data/volumes; mkdir -p $VOL_HOME/nacos/conf; mkdir -p $VOL_HOME/nacos/logs; mkdir -p $VOL_HOME/nacos/data; chown -R 200 $VOL_HOME/nacos; 创建nacos数据库&#xff0c;运行脚本&#xff1a; $VOL_HOME/na…

做实验的顺序-因人而异,只是记录自己的想法,,

1先去设计模型&#xff0c;运行。 2调参&#xff0c;最近发现超参数更重要。选择出来一个好的超参数&#xff08;为消融实验做准备&#xff09;。 &#xff08;友友们&#xff0c;如果不是自己设计的什么重要超参&#xff0c;尽量参考已有的论文&#xff0c;这样就不用做很多…

SpringCloudAlibaba基础五 Nacos配置中心

一 Nacos配置中心介绍 官方文档&#xff1a;https://github.com/alibaba/spring-cloud-alibaba/wiki/Nacos-config Nacos 提供用于存储配置和其他元数据的 key/value 存储&#xff0c;为分布式系统中的外部化配置提供服务器端和客户端支持。使用 Spring Cloud Alibaba Nacos C…

2024 福州市延安中学“拿云杯”复赛试题

回忆版&#xff08;持续更新&#xff09; 目录 答案 答案

风光摄影:相机设置和镜头选择

写在前面 博文内容为《斯科特凯尔比的风光摄影手册》读书笔记整理涉及在风景拍摄中一些相机设置&#xff0c;镜头选择的建议对小白来讲很实用&#xff0c;避免拍摄一些过曝或者过暗的风景照片理解不足小伙伴帮忙指正 &#x1f603;,生活加油 99%的焦虑都来自于虚度时间和没有好…

【matlab】周期性信号分析

目录 信号预处理 周期性特征提取方法 频谱分析 傅里叶变换 快速傅里叶变换&#xff08;FFT&#xff09; 周期图法 Welch法 自相关分析 时频分析 基于模型的方法 时间序列分解 应用实例 提取信号的周期性特征是一个在信号处理领域广泛应用的技术&#xff0c;特别是在…

模型(卷积、fc、attention)计算量 MAC/FLOPs 的手动统计方法

文章目录 简介背景为什么理解神经网络中的MAC和FLOPs很重要&#xff1f;资源效率内存效率能耗功耗效率 模型优化性能基准研究与发展 FLOPs 和 MACs 定义1. 全连接层 FLOPs 计算步骤 1&#xff1a;识别层参数步骤 2&#xff1a;计算 FLOPs 和 MACs步骤 3&#xff1a;总结结果使用…

每日一练:奇怪的TTL字段(python实现图片操作实战)

打开图片&#xff0c;只有四种数字&#xff1a;127&#xff0c;191&#xff0c;63&#xff0c;255 最大数字为255&#xff0c;想到进制转换 将其均转换为二进制&#xff1a; 发现只有前2位不一样 想着把每个数的前俩位提取出来&#xff0c;组成新的二进制&#xff0c;然后每…

深入剖析Memcached缓存穿透:问题解析与解决方案

标题&#xff1a;深入剖析Memcached缓存穿透&#xff1a;问题解析与解决方案 摘要 Memcached是一种广泛使用的高性能分布式内存缓存系统&#xff0c;它通过减少数据库访问次数来提高应用程序的响应速度。然而&#xff0c;当缓存系统面临大量查询不存在的数据时&#xff0c;会…