【ArchSummit】如何通过AIOps推动可量化的业务价值增长和效率提升?>>> 了解详情
写点什么

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 )关注我们,并与我们的编辑和其他读者朋友交流。

公众号推荐:

2024 年 1 月,InfoQ 研究中心重磅发布《大语言模型综合能力测评报告 2024》,揭示了 10 个大模型在语义理解、文学创作、知识问答等领域的卓越表现。ChatGPT-4、文心一言等领先模型在编程、逻辑推理等方面展现出惊人的进步,预示着大模型将在 2024 年迎来更广泛的应用和创新。关注公众号「AI 前线」,回复「大模型报告」免费获取电子版研究报告。

AI 前线公众号
2014-08-13 02:4110106
用户头像

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

关注

评论

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

ElasticSearch集群的概念及搭建过程,Java程序员晋升路线

Java 程序员 后端

ELK + Filebeat + Kafka 分布式日志管理平台搭建,最新java面试题及答案

Java 程序员 后端

Flink的sink实战之四:自定义,Java开发笔试题目

Java 程序员 后端

Geospatial-地理空间,java面试基本知识

Java 程序员 后端

外包学生管理系统详细架构设计

天天向上

架构实战营

Elasticsearch 如何做到快速检索 - 倒排索引的秘密,springboot项目实战

Java 程序员 后端

Windows11 搭建openvino_tensorflow环境

IT蜗壳-Tango

IT蜗壳 OpenVINO 11月日更 openvino_tensorflow

各地力推“链长制”,区块链让产业链更加安全可靠

CECBC

Elasticsearch聚合的嵌套桶如何排序(1),java大学基础教程

Java 程序员 后端

WEB本地存储:localStorage、Web SQL Database、IndexedDB

devpoint

Cookie indexedDB LocalStorage sessionStorage 11月日更

Redis Pipeline

new life

Github上堪称最全的面试题库(Java岗)到底有多香,java基础进阶视频

Java 程序员 后端

Dubbo服务消费者调用过程,35岁老年程序员的绝地翻身之路

Java 程序员 后端

所谓的新型“数字人民币”诈骗,这里有几个疑点

CECBC

Elasticsearch聚合的嵌套桶如何排序,java架构和框架

Java 程序员 后端

flume基本概念与操作实例(常用source),kalilinux视频教程

Java 程序员 后端

GitHub上标星75k+的《Java面试突击版,京东java面试题答案

Java 程序员 后端

Elasticsearch中的Term查询和全文查询,重磅

Java 程序员 后端

【Promise 源码学习】第二篇 - Promise 功能介绍与特性分析

Brave

源码 Promise 11月日更

Redis 实现附近的人,全靠 GEO 数据结构让我邂逅女神

码哥字节

redis BitMap geohash NoSQL 数据库 11月日更

进击的Java(一)

ES_her0

11月日更

Git 常用命令,使用Docker部署Spring-Boot项目

Java 程序员 后端

ELK太重?试试KFC日志采集,2021大厂Java面试经验

Java 程序员 后端

Flink SQL Client综合实战,深入理解java虚拟机百度云

Java 程序员 后端

【死磕Java并发】-----Java内存模型之happens-before

chenssy

11月日更 死磕 Java 死磕 Java 并发

讲分布式唯一id,这篇文章很实在

秦怀杂货店

Java 分布式 分布式ID

git(3)Git 分支,mysql语句优化面试题

Java 程序员 后端

数据分析入门

加里都好

大数据

Github上都在疯找的阿里内部“全栈技能修炼”终于来了,kafka基础概念

Java 程序员 后端

Elasticsearch中URI Search和RequestBody Search分析(1)

Java 程序员 后端

Flink处理函数实战之一:深入了解ProcessFunction的状态(Flink-1

Java 程序员 后端

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