AICon上海|与字节、阿里、腾讯等企业共同探索Agent 时代的落地应用 了解详情
写点什么

LedisDB——Go 编写的高性能 NoSQL 数据库

  • 2014-08-13
  • 本文字数:943 字

    阅读完需:约 3 分钟

在 7 月 24 号发布 0.1 版本后,8 月 5 号 LedisDB 0.2 版本发布。LedisDB 是一个用 Go 语言编写的高性能 NoSQL 数据库,它支持多种高级数据结构,如 kv、list、hash、zset、bitmap,也许可以作为 Redis 的替代方案。

LedisDB 现在支持多种后台数据库,包括 LevelDB、goleveldb、LMDB、RocksDB 和 BoltDB。用户可以通过测试选择一种合适的。如果用户没有进行配置,那么它将默认使用 goleveldb 来存储数据。它提供了两种设置存储数据库的方式,一种方式是在服务器配置文件中设定:

db_name = "leveldb"另一种方式是在命令标志中指定:

ledis-server -config=/etc/ledis.conf -db_name=leveldb第二种方式会覆盖第一种方式。但有一点必须注意,在运行时更改存储数据库非常危险,如果这样做,那么 LedisDB 将不会保证数据有效性。

LedisDB 使用 toml 作为首选配置格式,不过,因为某些历史原因它也支持 json。LedisDB 源代码中的基本配置./etc/ledis.conf 可以提供一些参考。当然,用户也可以不进行配置,它会使用默认配置。

LedisDB 还有其它若干重要的特性:

  • 存储大量的数据,而无需考虑内存瓶颈。
  • 支持失效和 TTL。
  • 直接支持 Redis 客户端,如 redis-cli。
  • 支持多种客户端,包括 Go、Python 和 Lua(OpenResty),后续还会增加对 C/C++ 客户端 API 的支持。
  • 可以方便地嵌入用户自己的 Go 应用程序。
  • 支持 Restful API 及 json/bson/msgpack 输出格式。
  • 复制以保证数据安全。
  • 提供加载、转储和修复数据库的工具。

几天前的一次基准测试得出了这样的结论:

  • LedisDB 使用 leveldb 和 rocksdb 作为后台存储数据库时比 Redis 或 SSDB 略慢。
  • 在 LedisDB 支持的数据库中,Imdb 的表现要好于其它数据库,尤其是 zrange* 操作。

虽然测试结果不尽如人意,但它仍然是生产环境中的一种可选 NoSQL 方案。最后,还有一点需要注意,LedisDB 现在更改了数据库保存路径。对于 LevelDB,存储路径为 data­­­_dir/leveldb;对于 LMDB,存储路径为 data­­_dir/lmdb。

要了解更多关于 LedisDB 的细节,可以登录 GitHub 及其官方网站。此外,作者还提供了中文博客


感谢郭蕾对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2014-08-13 02:4110502
用户头像

发布了 256 篇内容, 共 91.1 次阅读, 收获喜欢 12 次。

关注

评论

发布
暂无评论
发现更多内容

2023最新版Java面试八股文大全PDF版限时分享,含700道高频面试题

会踢球的程序源

Java 架构 java面试 Java工程师 八股文

数据库原理及MySQL应用 | 约束

TiAmo

数据库 MySQL数据库 三周年连更 数据库约束

跨平台应用开发进阶(四十三)一文走近网络层抓包工具:WhireShark

No Silver Bullet

网络层 抓包工具 三周年连更

Vue.js 数据双向绑定的实现

格斗家不爱在外太空沉思

Vue ES6 三周年连更

2023年MQTT Broker技术选型时需要考虑的7个因素

EMQ映云科技

云原生 物联网 IoT mqtt 企业号 4 月 PK 榜

华秋干货分享:SMT钢网文件的DFA(可焊性)设计

华秋电子

Unity 之 使用原生UGUI实现随手移动摇杆功能经典实例

陈言必行

Unity 三周年连更

Java程序控制结构

timerring

Java

安全沙箱技术的原理、应用程序的安全性和稳定性

没有用户名丶

有史以来最完整包SpringBoot学习笔记整合,该有的应有尽有

会踢球的程序源

Java 后端 Spring Boot CLI

Spring自定义参数解析器设计

京东科技开发者

spring 自定义参数解析器 参数解析器 企业号 4 月 PK 榜

近两年功能增加最多!Kubernetes 1.27 正式发布

Daocloud 道客

Kubernetes 云原生

BSN-DDC应用合约解读汇总(2023年一季度)

BSN研习社

Spider实战-抓取视频

浅辄

三周年连更

还傻傻分不清MySQL回表查询与索引覆盖?

架构精进之路

MySQL 数据库 三周年连更

RocketMQ入门:(整合springboot)单机部署&集群部署

Java你猿哥

Java RocketMQ Spring Boot 架构师

Java开发人员必知的常用类库,这些你都知道吗?

会踢球的程序源

#java

中移链系统合约管控功能介绍

BSN研习社

狂追ChatGPT:开源社区的“平替”热潮

OneFlow

SpringBoot 多Module Proguard混淆(Gradle)

Java你猿哥

spring Spring Boot proguard

成都.NET线下技术沙龙倒计时一天

MASA技术团队

.net 开发者 MASA Stack

openEuler、龙蜥Anolis、统信UOS系统下编译GreatSQL二进制包

GreatSQL

如何使用 taosKeeper 做好监控工作,时序数据库 TDengine 3.0 监控工具详解

TDengine

大数据 tdengine 物联网 时序数据库 数据监控

平安证券与易观千帆达成合作,拓宽用户服务新路径

易观分析

金融 证券 经济

欧洲 KubeCon 2023 前瞻|相约全球顶级云原生开源盛会

Daocloud 道客

云原生 HPC cncf 调度器 #Kubernetes#

BSN-DDC基础网络详解(八):部署自定义智能合约

BSN研习社

【Linux】之【磁盘】相关的命令及解析[df、du、iostat、iotop]

A-刘晨阳

Linux 三周年连更 磁盘空间

Java数组、排序和查找

timerring

Java

vivo全球商城:电商交易平台设计

vivo互联网技术

分布式事务 订单管理 架构设计 多租户 交易平台

专注写作:Ulysses for Mac中文版

真大的脸盆

Mac markdown编辑器 Mac 软件 文本编辑 文本管理工具

从ReentrantLock角度解析AQS

Java AQS 并发

LedisDB——Go编写的高性能NoSQL数据库_数据库_马德奎_InfoQ精选文章