SuperAPI AI 工具集

keyvhq

数据与分析

查看项目

更新于 10-16 00:30

技能介绍

用途:keyvhq 是面向 Node.js 的键值缓存方案,核心包为 @keyvhq/core,配合官方存储适配器与装饰器,为模块、应用添加内存缓存或持久化、共享缓存,适合本地开发到分布式部署的不同场景。

主要能力:核心 API 包含 new Keyv(options) 创建实例、set(key, value, ttl?) 写入(TTL 以毫秒计)、get(key) 读取、has(key) 判断存在、delete(key) 删除单键、clear() 清空当前命名空间、iterator() 异步遍历条目。常用选项有 store(适配器实例,默认内存 Map)、namespace(隔离键空间)、ttl(默认毫秒)、serialize/deserialize(自定义序列化)、raw(返回含过期元数据的内部对象)。适配器按基础设施选择:@keyvhq/redis 低延迟共享缓存、@keyvhq/mongo、@keyvhq/mysql、@keyvhq/postgres、@keyvhq/sqlite 文件持久化、@keyvhq/file 轻量 JSON 文件、keyv-s3 用于 S3 对象存储。装饰器有 @keyvhq/compress 压缩负载、@keyvhq/memoize 记忆化函数调用、@keyvhq/multi 合并本地与远程存储、@keyvhq/offline 离线感知、@keyvhq/stats 统计指标。

使用方式:安装核心 npm install @keyvhq/core,使用内存存储时 require('@keyvhq/core') 后 new Keyv() 即可;需要持久化时按适配器安装,例如 npm install @keyvhq/core @keyvhq/redis,并在实例化和 store 时传入连接串与 namespace。建议本地先用内存,需要持久化或共享缓存时再加适配器,按模块设置 namespace 避免冲突,缓存操作收敛到单一服务层以便替换适配器。为库添加缓存时,可暴露 cache 选项、接受任意 Keyv 兼容存储、无缓存时默认内存、调用 clear() 前先设置专用 namespace。

限制与注意:TTL 单位为毫秒;未设置 namespace 时 clear() 可能清空该存储全部条目;适配器错误应在缓存边界附近处理;大数据量批量迭代或分析建议用原生数据库工具而非 iterator()。资料未提供具体收费、价格与性能数据,暂未提供。