Go 语言的数据库操作写起来繁琐又容易出错?Go-GoStore帮你省不少事。它是个小巧但有料的数据库接口库,支持好几种数据库,像MongoDBPostgreSQLLevelDBRethinkDB这些常见的它都能接,而且切换数据库基本不用改业务逻辑,接口风格也挺统一的,写起来顺手。

统一的接口方式让你少管数据库那些七七八八的差异,适合微服务场景,每个服务选自己合适的存储,像玩拼图一样组合。

用 GoStore,你能把数据库操作封装得清爽,不会像传统方式那样一团糟。你要是做过数据库迁移,肯定知道那种改一处炸一片的痛苦,GoStore 就挺能减轻这种负担。写完业务逻辑,哪怕底层换了从MongoDBPostgreSQL,只改初始化的地方就行,业务代码动都不用动。

它支持的几个数据库各有特点,比如:

  • RethinkDB:适合做实时更新,数据一变立马推给前端
  • BoltDBLevelDB:适合本地小型项目,嵌入式,快
  • Riak:适合做分布式服务,数据量大,容错高
  • PostgreSQL:适合对数据一致性要求高的应用

写法也比较贴近 Go 的风格,类型系统用得稳,接口编程让你封装起来舒服。接口暴露得不多但精,像Store.Insert()Store.Find()这种 API 都挺直接,配合 Go 的并发写法,效率还挺高。

它的压缩包gostore-master里有源码、示例、文档、测试,没什么花里胡哨,直接上手就能跑。建议你先看文档里的 API 示例,基本能立刻跑出个简单 Demo,后面慢慢再接自己的业务。

如果你在做多数据库支持的系统,或者你想让数据库逻辑写得干净点,Go-GoStore会是个不错的选择。是原型开发阶段,连接多种数据库试试性能、数据结构啥的,切换超方便,效率也能提不少。