技术支持 鼎维重庆网站建设专家中文域名注册机构

张小明 2026/1/9 21:22:08
技术支持 鼎维重庆网站建设专家,中文域名注册机构,怎么优化网站排名才能起来,松江网站开发培训学校在VonaJS中实现读写分离#xff0c;只需提供一组写数据源和一组读数据源。当用户访问后端 API 时#xff0c;系统会按照规则自动选择写数据源或读数据源#xff0c;访问相应的数据库#xff0c;从而分摊压力#xff0c;提升系统性能安装模块读写分离作为独立的模块提供只需提供一组写数据源和一组读数据源。当用户访问后端 API 时系统会按照规则自动选择写数据源或读数据源访问相应的数据库从而分摊压力提升系统性能安装模块读写分离作为独立的模块提供因此需要在VonaJS项目中安装此模块$ pnpm add vona-module-a-datasharding -w添加数据源首先需要添加一组数据源1. 添加类型定义为新数据源添加类型定义src/backend/config/config/config.tsdeclare module vona-module-a-orm {export interface IDatabaseClientRecord {read1: never;read2: never;write1: never;write2: never;}}2. 增加数据源配置src/backend/config/config/config.ts// databaseconfig.database {clients: {read1: {client: pg,connection: {host: 127.0.0.1,port: 5432,user: postgres,password: ,database: xxxx-read1,},},read2: {...},write1: {...},write2: {...},},};配置读写数据源然后配置模块的读写数据源src/backend/config/config/config.ts// modulesconfig.modules {a-datasharding: {client: {reads: [read1, read2],writes: [write1, write2],randomRead: undefined,randomWrite: undefined,},},};名称 说明reads 指定一组读数据源writes 指定一组写数据源randomRead 可指定自定义函数从reads中提取一个读数据源。默认为undefined由系统随机提取randomWrite 可指定自定义函数从writes中提取一个写数据源。默认为undefined由系统随机提取读写分离的运行机制当配置好读写数据源之后读写分离机制就自动生效了现在解释一下读写分离的运行机制模块提供了一个全局拦截器a-datasharding:datasharding。该拦截器判断当前 API Method如果是POST/PATCH/DELETE/PUT那么就使用写数据源否则使用读数据源数据一致性: 缓存写数据源场景分析同一个用户由于数据库同步有延时会出现数据不一致性的情况。比如用户访问Write-API将数据写入写数据库。接下来用户访问Read-API此时读数据库还没有同步那么就会读到旧数据为了解决以上问题模块自动提供了一个机制当用户访问Write-API时会自动将写数据源存入二级缓存并设置过期时间。在这个时间之内用户访问Read-API时也会继续使用同一个写数据源从而确保在写入数据后总是可以读取到最新的数据修改过期时间二级缓存的名称是a-datasharding:datasourceWrite可以在 App config 中修改过期时间src/backend/config/config/config.ts// onionsconfig.onions {summerCache: {a-datasharding:datasourceWrite: {mem: {ttl: 5 * 1000, // 5s},redis: {ttl: 5 * 1000, // 5s},},},};名称 说明mem.ttl Mem缓存的过期时间默认为3秒redis.ttl Redis缓存的过期时间默认为3秒数据一致性: 缓存双删场景分析不同用户Vona ORM 提供了开箱即用的缓存机制参见缓存由于数据库同步有延时会出现缓存不一致性的情况。比如用户 A 访问Write-API将数据写入写数据库并自动删除缓存。接下来用户 B 访问Read-API此时读数据库还没有同步那么就会读到旧数据并存入缓存为了解决以上问题模块a-orm提供了缓存双删机制当用户 A 访问Write-API时将数据写入写数据库并自动删除缓存。然后在指定时间之后再次删除缓存从而确保缓存总是最新数据启用缓存双删src/backend/config/config/config.ts// modulesconfig.modules {a-orm: {sharding: {cache: {doubleDelete: true,},},},};修改缓存双删延迟时间系统采用队列任务执行缓存双删队列名称是a-orm:doubleDelete可以在 App config 中修改缓存双删延迟时间src/backend/config/config/config.ts// onionsconfig.onions {queue: {a-orm:doubleDelete: {options: {job: {delay: 5 * 1000, // 5s},},},},};名称 说明job.delay 指定延迟多长时间执行缓存双删任务默认为3秒
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

地方门户网站规划网站流量变现

WorkScout 是一个集成于一体的 WordPress 主题,结合了常规的招聘网站功能和自由职业市场功能,自由职业者可以通过完成各种小任务/微型任务获得报酬。是一款WordPress比较小众的主题。但功能绝对强大。 当前版本 WordPress招聘网站主题 WorkScout 4.1.07 …

张小明 2026/1/9 11:34:58 网站建设

seo网站整站优化WordPress中文企业免费主题

5个关键步骤:用OSHI构建坚不可摧的Java系统监控代码质量 【免费下载链接】oshi Native Operating System and Hardware Information 项目地址: https://gitcode.com/gh_mirrors/os/oshi 想要构建可靠的Java系统监控应用?OSHI项目通过完善的代码质…

张小明 2026/1/5 13:46:18 网站建设

免费创建自己的网站平台wordpress wp posts

FaceFusion 支持 Linux 命令行操作?详细参数说明助你掌握核心功能 在当今 AI 内容生成爆发式增长的背景下,自动化、批量化处理图像与视频已成为影视制作、数字人开发和短视频平台的核心需求。传统依赖图形界面的人脸替换工具已难以满足高并发、可调度的任…

张小明 2026/1/1 9:29:27 网站建设

做网站类的网站中国建筑集团领导名单

突破显存瓶颈:FLUX模型INT8量化实战指南 【免费下载链接】flux Official inference repo for FLUX.1 models 项目地址: https://gitcode.com/GitHub_Trending/flux49/flux 你是否在使用FLUX模型生成高质量图像时,遭遇显存不足、推理缓慢的困扰&am…

张小明 2025/12/30 15:52:07 网站建设

怎么做免费网站推赣州今天招工信息赣州人才网

个人号开发微信机器人API 在微信深度渗透私域运营与客户服务的背景下,开发个人微信机器人需解决“如何与微信交互”“如何调用聊天接口”“如何稳定获取微信数据”等核心问题。用户常见的技术方案包括微信Web接口、Xposed/PC Hook、模拟机技术及iPad扫码协议&#…

张小明 2026/1/7 5:42:31 网站建设

萍乡手机网站建设手机端网站做app

零基础构建企业级实时协作编辑器:Tiptap Hocuspocus实战指南 【免费下载链接】tiptap 项目地址: https://gitcode.com/gh_mirrors/tip/tiptap 还在为团队文档协作效率低下而头疼吗?多人同时编辑时格式混乱、内容冲突、历史版本丢失?…

张小明 2026/1/6 15:13:03 网站建设