gone v1.1.1发布,支持数据集群和多数据库

图谱后端选型:Memgraph vs Neo4j vs 嵌入式 SQLite,什么时候该切换? 本文通过脚本自动探测代码图谱规模,对比SQLite、Memgraph与Neo4j在不同节点量级下的性能表现。实测表明:10万节点内嵌入式SQLite凭借低延迟和轻量部署仍具竞争力;超15万节点后,Memgraph适合低延迟、高并发场景;而Neo4j仅在百万级图谱且需复杂查询时才具备优势。配套提供一键测试延迟与平滑迁移后端的Python工具链,实现按需选型与无缝切换。 阅读详情

v1.1.1

  • goner/xorm 支持集群 和 多数据库,最新文档:https://goner.fun/zh/references/xorm.html
  • 新增 goner/gorm,封装gorm.io/gorm,用于数据库的访问,暂时只支持mysql,完善中…

1.goner/xorm支持集群

1.1 配置项

配置项必须默认值描述
database.cluster.enable否false是否启用集群模式
database.driver-name否(非集群模式必填)-数据库驱动名称,支持mysql、sqlite3、postgres、oracle、mssql
database.dsn否(非集群模式必填)-数据库连接字符串
database.max-idle-count否5连接池最大空闲连接数
database.max-open否20连接池最大连接数
database.max-lifetime否10m连接池连接最大存活时间
database.show-sql否true是否打印SQL日志
database.cluster.master.driver-name否(集群模式必填)-主库数据库驱动名称,支持mysql、sqlite3、postgres、oracle、mssql
database.cluster.master.dsn否(集群模式必填)-主库数据库连接字符串
database.cluster.slaves[n].driver-name否(集群模式必填)-从库数据库驱动名称,支持mysql、sqlite3、postgres、oracle、mssql
database.cluster.slaves[n].dsn否(集群模式必填)-从库数据库连接字符串
1.1.1 非集群模式例子
database.driver-name=mysql
database.dsn=root:123456@tcp(127.0.0.1:3306)/test?charset=utf8mb4&parseTime=True&loc=Local
1.1.2 集群模式例子
database.cluster.enable=true

# 主数据库配置
database.cluster.master.driver-name=mysql
database.cluster.master.dsn=root:123456@tcp(master-db-host:3306)/test?charset=utf8mb4&parseTime=True&loc=Local

# 从数据库配置
database.cluster.slaves[0].driver-name=mysql
database.cluster.slaves[0].dsn=root:123456@tcp(slave-db-0-host:3306)/test?charset=utf8mb4&parseTime=True&loc=Local

database.cluster.slaves[1].driver-name=mysql
database.cluster.slaves[1].dsn=root:123456@tcp(slave-db-1-host:3306)/test?charset=utf8mb4&parseTime=True&loc=Local

database.cluster.slaves[2].driver-name=mysql
database.cluster.slaves[2].dsn=root:123456@tcp(slave-db-1-host:3306)/test?charset=utf8mb4&parseTime=True&loc=Local

# ... 更多从数据库

1.2 在代码中注入数据库引擎

import "github.com/gone-io/gone"

type struct dbUser struct {
	gone.Flag
	db gone.XormEngine `gone:"*"` //注入数据库引擎【集群模式,注入的是数据库集群,通过该方式获取的引擎查询数据时会随机到各从数据库,写入数据时会使用主数据库】
	masterDb gone.XormEngine `gone:"xorm,master"` // 注入主数据库,集群模式下有效
	slaveDb0 gone.XormEngine `gone:"xorm,slave=0"` //注入从数据库0,集群模式下有效
	slaveDb1 gone.XormEngine `gone:"xorm,slave=1"` //注入从数据库1,集群模式下有效
	slaveDbs []gone.XormEngine `gone:"xorm"`       //主入从数据库Slice,集群模式下有效
}

type Book struct {
	Id int64
	Title string
}

func (d *dbUser) GetBookById(id int64) (book *Book, err error) {
	book = new(Book)
	has, err := d.db.Where("id=?", id).Get(book)
	if err != nil {
		return nil, gone.ToError(err)
	}
	if !has {
		return nil, gone.NewParameterError("book not found", 404)
	}
	return book, nil
}

2 goner/xorm支持多数据库

2.1 配置多个数据库

多数据库配置前缀为database.{数据库名称},例如:database.db1、database.db2。

配置项必须默认值描述
{数据库配置前缀}.cluster.enable否false是否启用集群模式
{数据库配置前缀}.driver-name否(非集群模式必填)-数据库驱动名称,支持mysql、sqlite3、postgres、oracle、mssql
{数据库配置前缀}.dsn否(非集群模式必填)-数据库连接字符串
{数据库配置前缀}.max-idle-count否5连接池最大空闲连接数
{数据库配置前缀}.max-open否20连接池最大连接数
{数据库配置前缀}.max-lifetime否10m连接池连接最大存活时间
{数据库配置前缀}.show-sql否true是否打印SQL日志
{数据库配置前缀}.cluster.master.driver-name否(集群模式必填)-主库数据库驱动名称,支持mysql、sqlite3、postgres、oracle、mssql
{数据库配置前缀}.cluster.master.dsn否(集群模式必填)-主库数据库连接字符串
{数据库配置前缀}.cluster.slaves[n].driver-name否(集群模式必填)-从库数据库驱动名称,支持mysql、sqlite3、postgres、oracle、mssql
{数据库配置前缀}.cluster.slaves[n].dsn否(集群模式必填)-从库数据库连接字符串

2.2 多数据库注入

import "github.com/gone-io/gone"

type struct dbUser struct {
	gone.Flag

	// 注入`{数据库配置前缀}`为`database.db1`的数据库引擎【集群模式,注入的是数据库集群,通过该方式获取的引擎查询数据时会随机到各从数据库,写入数据时会使用主数据库】
	db1 gone.XormEngine `gone:"xorm,db=database.db1"`

	// 注入`{数据库配置前缀}`为`database.db1`的主数据库,集群模式下有效
	masterDb gone.XormEngine `gone:"xorm,db=database.db1,master"`

	// 注入`{数据库配置前缀}`为`database.db1`的从数据库0,集群模式下有效
	slaveDb0 gone.XormEngine `gone:"xorm,db=database.db1,slave=0"`

	// 注入`{数据库配置前缀}`为`database.db1`的从数据库1,集群模式下有效
	slaveDb1 gone.XormEngine `gone:"xorm,db=database.db1,slave=1"`

	// 主入`{数据库配置前缀}`为`database.db1`的从数据库Slice,集群模式下有效
	slaveDbs []gone.XormEngine `gone:"xorm,db=database.db1"`
}

完整文档

SpringBoot+Vue+MySQL 高校学科竞赛平台 完整可运行版(源码+文档) 本项目基于SpringBoot+Vue+MySQL构建高校学科竞赛管理平台,覆盖学生、教师、领队教师、管理员四大角色,实现竞赛发布、报名、刷题、评分、公示等全流程闭环管理。系统架构清晰,技术主流,配套完整源码、数据库脚本、万字论文、开题报告、答辩PPT及部署文档,支持一键运行,适用于毕业设计、课程设计及院系二次开发,真正实现“开箱即用”。 阅读详情

相关推荐

point transformer v3结构

分割结构: embedding->enc->dec embedding->enc0->enc1->enc2->enc3->enc4->dec3->dec2->dec1->dec0 embedding ->block0->block1 ->dow->block0->block1 ->dow->block0->block1 ->dow->block0->block1-&gt

weixin_45625419的博客 582

Gone v2 版本正式发布

Gone 是一个轻量级的golang依赖注入框架,正式发布V2版本。

大鹏的技术博客 754

【图像大模型】RIFE实战:如何通过中间流估计实现4K视频的实时插帧优化

本文深入解析了基于深度学习的RIFE视频插帧算法,重点探讨其核心的中间流估计技术如何实现高效精准的帧生成。通过实战教程,详细介绍了针对4K视频的实时处理优化方案,包括环境配置、参数调优及性能瓶颈分析,帮助用户利用消费级显卡将低帧率视频转化为流畅的高帧率体验。

weixin_29093017的博客 459

Docker Compose:搭建本地多服务开发环境

从一个 Java API、PostgreSQL 和 Redis 开始,配置服务名、端口、环境变量、健康检查、数据卷和依赖关系。理解 Compose 文件如何被解析、项目如何隔离,以及哪些数据不能依赖“重建容器”保留,能够把个人开发环境整理成团队可复用的启动入口。

m0_62221377的博客 462

5分钟快速验证lvgl界面:VScode模拟器极简配置法(免环境变量版)

本文介绍了一种5分钟快速验证LVGL界面的极简配置方法,使用VSCode模拟器免环境变量配置,适合UI设计师和产品经理快速预览界面效果。通过预编译的SDL2库和配置好的VSCode工程模板,实现开箱即用的LVGL界面验证,大幅提升工作效率。

weixin_30790841的博客 314

torchsparse安装

torchsparse安装以及安装失败原因分析和解决

AI_BING_的博客 1万+

AI全栈实战 | 3.9-01 爬虫入门:requests 加 BeautifulSoup 三分钟跑通,但 90% 的人栽在这 4 个“礼貌“问题上

⚠️:本文内容仅用于。请遵守目标站点的服务条款与相关法律法规,不得对目标服务造成负担,不得采集、传播个人隐私数据。技术是中性的,边界在你手里。爬虫的入门技术(requests 发请求 + BeautifulSoup 解析)三分钟就能学会。真正区分"会用爬虫"和"会做爬虫的人"的,是这篇我们跑通"请求→解析→存储"的最小闭环,然后重点把"合规与礼貌"这根弦给你绷上。

源码获取 | 运行部署 | 定制二开修改,如果回复不及时请耐心等待,请见谅。 424

S7-200SMART 中如何实现单按钮启停功能(两种方法)?

S7-200SMART 中如何实现单按钮启停功能(两种方法),Toggle库指令,状态翻转

Robot_PLC_HMI_Automation 1万+

【基于 WebSocket 的多用户网页五子棋】—— 数据管理模块

但行好事,莫问前程

qq_42996461的博客 238

基于Python实现身份证信息识别

身份证是一种重要的证件,包含了个人的基本信息,如姓名、性别、出生日期、住址等。在实际应用中,有时需要对身份证进行自动化的识别,以提高工作效率和准确性。本文将介绍如何使用Python实现身份证信息的识别,通过图像预处理、OCR技术和解析算法,实现对身份证号码和其他信息的提取和解析。

商务合作 / 项目定制 / 学习交流。个人vx:lovely_wml 1万+

ansys 求解过程中出现未知错误。检查“求解信息”对象上的“求解器输出”,查找可能的原因。-静力学分析遇到的,这是什么原因——An unknown error occurred ——未找到解决方法

点击“确定”关闭弹窗后,进入Workbench的‌“求解信息”对象‌,查看‌“求解器输出”‌,搜索“Error”“Fatal”“Warning”等关键词,找到具体的错误描述,比如材料未定义、网格质量问题、内存不足等,这是精准解决问题的关键。进入“工具-选项-mechanical APDL”,取消勾选“分布式”,GPU加速器选择“none”。在“求解进程设置-高级”中调整内存分配参数,或切换为迭代求解器(如PCG求解器),它更省内存。尝试简化模型,比如删除非关键细节、合并重复部件,分步验证模型,定位问题源。

qq_15963745的博客 620

C++算法(七)

C++ stack算法题和一些客观题

2503_94479566的博客 375

PX4实战(四):PX4 uorb模块详解

本节主要讲解PX4中的uorb消息,主要包括uorb的基本概念使用、PX4内重要的uorb消息、如何自定义uorb消息以及使用uorb消息的注意点等,其中讲解重要uorb消息是为了对PX4内重要数据结构有初步的了解,有助于后期算法理解。uORB(micro Object Request Broker)是PX4中用于模块间通信的轻量级发布-订阅(Publish/Subscribe)机制。模块之间可以通过uORB传递消息,无需直接调用对方函数;提高系统模块化与解耦性;

PX4-SLAM-PNC 1932

OpenClaw 深度调查:把 AI 助手做成你自己的控制平面

对 openclaw/openclaw 的完整技术尽调:Gateway 架构、Agent 运行时、工具与沙箱、30 个消息通道、181 个插件、安全信任边界、工程代价与采用建议。17 章 / 10 张图,全部数字标注口径,数据截至 2026-10-31。

厚积薄发 246

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

不用再为文本搜索单独维护一套系统!全文检索深度解析

为了给商品、客服工单或者企业知识库增加一个搜索框,企业往往需要在业务数据库之外,再部署一套Elasticsearch。数据库保存商品、订单和用户等真实业务数据,搜索引擎保存另一份文本索引;两套系统之间,还需要通过CDC、消息队列或者同步程序持续传输数据。一个看似简单的搜索需求,最后可能变成两套集群、两份数据和一条必须保持稳定的数据链路。由此产生的问题并不少:数据库已经完成更新,搜索结果却可能尚未同步;业务查询同时涉及文本、库存、权限和订单状态时,应用需要在两个系统之间来回组合结果;

TiDB 社区干货传送门 294

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

IDEA 简介:从零认识 IntelliJ IDEA

IDEA 全称,是由 JetBrains 公司开发的一款主流 Java 集成开发环境(IDE)。它集代码编辑、编译、调试、测试、版本控制、构建管理等功能于一体,被大量 Java 开发者视为日常开发的首选工具。所谓 IDE(Integrated Development Environment,集成开发环境),就是把写代码所需的各类工具整合到同一个界面中。相比只用文本编辑器加命令行编译,IDE 能显著减少重复操作,让开发者把精力集中在业务逻辑上。

ztI10的博客 166

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

TransactionInactiveError:await 之后事务已经不活跃了

TransactionInactiveError 出现于 IndexedDB 事务已结束(非 active 状态)时调用 put、get 等操作。常见于 await 后或 setTimeout 中执行请求,因任务已完成,事务已提交或进入 finished 状态。请求必须在创建事务的同一任务中挂起,否则无效。解决方法:在 onsuccess 回调内同步发起后续操作,或提前将所有请求挂入事务。避免在异步上下文中使用事务操作,确保请求在事务活跃期内完成。

qq_40822000的博客 147

云计算课程小组PPT汇报任务书

36人分为6组,每组6人;形式:生活案例调研 + 理论解读;汇报时长7‑9min;PPT建议10‑14页。

Michelle8023的博客 178

市场调查与统计分析专业大学期间考证怎么安排?

市场调查与统计分析专业的考证规划,适合从一份完整的调查报告倒推:能不能设计问卷、判断样本是否合理、清洗数据,再把分析结果转化为业务建议?围绕这条能力链安排证书,比单纯按“热门程度”报名更有针对性。结合2026年的学习安排,并为2027年的实习、升学和求职预留时间,大学期间可以重点考虑六类证书:全国计算机等级考试证书、大学英语四级或六级成绩报告单、CDA数据分析师、初级统计专业技术资格证书、微软办公软件国际认证中的Excel相关证书,以及软考数据库系统工程师资格证书。

cc572502653的博客 166

大表 ALTER TABLE 怎么做?NineData OnlineDDL 配置与执行实践

介绍NineData OnlineDDL大表变更实践,涵盖执行策略、切表控制、拷贝批次与可视化进度追踪。

dbasenewbie的博客 275

软件项目交付时,源代码之外还应该交付哪些技术资料?

软件项目交付时,除可运行程序外,还应核对源代码、数据库结构、接口文档、部署运维、测试验收和账号资产。本文从实际交付环节拆解完整资料清单,并说明合同如何约定交付范围、知识产权与维护边界。

chengduyoushu的博客 295

MySQL报Too many open files?句柄耗尽的排查与参数配置

文章讲清 max_connections 与 open_files_limit 两个额度、句柄被谁占走、分区表为什么最容易踩,给出从 error log 到 /proc/pid/limits 的定位顺序与句柄预算算法。

「一个在数据库赛道上边学边分享的学妹」——聚焦国产数据库/信创方向、分享学习笔记、踩坑经验和行业观察。 320

Redis 入门详解:核心特性、重要文件与全局命令实战

本文系统介绍了Redis的核心特性、重要文件及全局命令。Redis凭借内存存储、C语言实现和单线程设计,具备极高的读写性能;支持持久化(RDB/AOF)、主从复制与集群架构,适用于缓存、排行榜、计数器等场景,但不适合存储海量冷数据。文中还解析了常见面试题,如为何快速、单线程原理、持久化机制、KEYS *禁用原因及过期键处理策略,强调其在高并发场景下的优势与局限。

2303_77004089的博客 202

Agent 安全实战:间接提示注入的四个攻击面与防御体系

当 Agent 从 "生成内容" 走向 "执行动作",安全边界就从内容合规变成了权限越界。本文拆解间接提示注入在网页抓取、工具返回值、MCP 连接器、长期记忆四个位置的真实攻击路径,对照 Claude、GPT、Gemini 在工具调用权限模型上的设计差异,给出可直接落地的五层防御体系。

阡陌数智,专注大模型网关与 LLM 工程落地 265

【FDE前沿部署工程师实战教程】第62章:Enterprise AI Developer Platform——企业级 AI 开发者平台与低代码 AI 应用工厂

企业从AI能力平台迈向AI应用生产平台,需构建统一的企业级AI开发者平台,将模型、RAG、Agent、Workflow等能力封装为可视化、可复用的开发工具。通过PromptIDE、AgentBuilder、WorkflowBuilder等模块,实现低代码与专业代码协同,降低开发门槛。平台覆盖应用全生命周期管理,集成测试评估、安全治理与CI/CD发布体系,推动AI应用规模化、标准化交付。最终形成“需求→设计→开发→测试→发布→运营”的企业AI应用工厂模式,助力制造等行业的智能化转型。

IT古董 310

【计算机毕设项目展示】基于springboot框架的膳食搭配指南平台设计与实现08824

系统主要内容包括交流论坛的发布与回复、菜谱信息的添加以及美食活动的发布与参与跟踪。采用的技术路线包括Spring Boot框架的快速开发优势,结合数据库技术实现数据的高效存储与检索,以及前端技术优化用户体验。该系统实现了菜谱的有效利用、交流论坛的无缝衔接以及美食活动评论的快速响应。论文的主要贡献在于提供了一个功能全面、操作简便的膳食搭配指南的平台,为进一步帮助广大市民了解营养常识,促进大连市餐饮行业健康发展提供了有力支持。

weixin_BYSJ1987的博客 129
上一篇: 一个去掉PDF背景水印的思路
下一篇: 在银河麒麟V10上离线安装千问VL - Qwen2-VL-72B-Instruct-GPTQ-Int4
dapeng-大鹏
博客等级 码龄16年 1349粉丝 116原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dapeng-大鹏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值