写点什么

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:4110289
用户头像

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

关注

评论

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

线性表→顺序表→链表 逐个击破

C++后台开发

数据结构 linux开发 Linux服务器开发 顺序表 C++开发

简单的Apache Airflow(CVE-2022-40127)漏洞复现

网络安全学海

黑客 网络安全 信息安全 渗透测试 漏洞挖掘

曲面屏墨水屏显示器!墨水屏手机显示器!北京大上科技发布多款新概念产品

硬科技星球

Seata分布式事务你懂吗?学习了大佬的笔记,公司说要给我涨薪8K

钟奕礼

Java 程序员 java面试 java编程

鸿蒙开发实例|构建轻量级智能穿戴设备用户界面

TiAmo

华为云 鸿蒙开发 12月月更

移动端防抓包实践

杨充

Mysql大合集,你要内容的这里全都有

钟奕礼

Java 程序员 java面试 java编程

FLStudio水果2024中文免费版下载

茶色酒

FL Studio FL Studio21

2022-12-09:上升的温度。以下的数据输出2和4,2015-01-02 的温度比前一天高(10 -> 25),2015-01-04 的温度比前一天高(20 -> 30),sql语句如何写? DR

福大大架构师每日一题

数据库 福大大

大数据HDFS凭啥能存下百亿数据?

JAVA旭阳

Java 大数据

面试官问对分布式锁进行高并发优化,这样答,成功斩获大厂offer

钟奕礼

Java 程序员 java面试 java编程

阿里巴巴最新推出王者笔记:“Spring MVC源码与实践”

钟奕礼

Java 程序员 java面试 java编程

四种主流的大数据技术

穿过生命散发芬芳

大数据技术 12月月更

2022年中国期货行业年度发展观察分析

易观分析

金融 期贷

深入浅出学习透析 Nginx 服务器的基本原理和配置指南「运维操作实战篇」

洛神灬殇

nginx web服务器 运维开发 12月日更 12 月 PK 榜

内卷这么严重!学会这些java核心资料,再也不怕行业内卷了

钟奕礼

Java 程序员 java面试 java编程

Verilog 表达式

梦笔生花

Verilog Verilog语法 Verilog操作符

Discourse 本地开发环境时候出现代理错误

HoneyMoose

【工具安装】logstash的安装

No8g攻城狮

elastic Logstash ES ELK Stack Elastic Search

一块钱能做什么?

脑极体

浅谈网络营销从业者如何突破瓶颈期

石头IT视角

天天刷 B站,了解他们的评论系统是如何设计的吗?

小小怪下士

Java 程序员 系统设计

三年Crud,一周学会MySQL,助我拿到阿里研发Offer

钟奕礼

程序员 java面试 java编程 #java

在 Istio 服务网格中使用 Argo Rollouts 实现智能的渐进式发布

Se7en

云原生

还在用Jenkins?试试这款面向DevOps的自动化部署工具吧,贼带劲!

架构师之道

开源 编程

easyrecovery2024永久免费版数据恢复软件

茶色酒

EasyRecovery15 easyrecovery2023

CleanMyMacX软件免费版本在哪里下载?

茶色酒

CleanMyMacX

SSM框架之Mybatis整合

@下一站

实践 mybatis配置 11月日更 mybatis入门 11月月更

极客时间运维进阶训练营第七周作业

独钓寒江

前辈给的Spring Cloud与Docker微服务实战,挽救了要被辞退的我

钟奕礼

Java 程序员 java面试 java编程

爱了!阿里巴巴JAVA岗发布,最新内部面试题(含P5-P7)

钟奕礼

Java 程序员 java面试 java编程

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