kedis 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
kedis 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
kedis 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 MIT
开发语言 C/C++
操作系统 跨平台
软件类型 开源软件
所属分类 服务器软件
开源组织
地区 国产
投 递 者 Adu-杜建庆
适用人群 未知
收录时间 2017-12-01

软件简介

1. Kedis-Server是什么

kedis-server是一个以RocksDB为存储引擎,支持Redis协议,并且支持大部分常用的Redis命令的一个持久化大容量kv存储服务器

2. Redis有什么问题

总的来说,Redis是一个非常优秀的内存kv存储服务器,支持非常丰富的数据结构,而且性能也非常棒。但是在实际使用Redis的时候,还是会碰到如下的一些问题:

    1)单个Redis实例的数据容量受限于机器内存的大小,而且由于Redis主备复制时需要fork一个子进程来获取内存的snapshot,所有单实例的maxmemory最好不要超过机器内存的一半,不然会用到swap,速度很慢,影响线上的服务

    2)如果打开Redis的持久化功能,对于大数据量的Redis重启,由于要加载所有数据到内存,启动时间很长

    3)Redis的主从复制断开重连时,只能保持很少的历史数据,如果断开时间比较长,又需要进行一次全量的数据复制,非常影响线上服务

3. 用于kedis-server替换基于proxy模式的Redis Cluster方案里面的Redis

我们做了一个基于proxy的redis cluster方案,用来存储对持久化需求不是很急切的kv存储业务,然后就想用一个持久化版本的类Redis存储服务器来替换Redis,这样就可以实现一个持久化版本的kv存储cluster方案

4. 业界其他的类Redis持久化存储方案

现在国内用的最广泛的类Redis持久化kv服务器有ssdb和pika,但这两个项目有一些不是很满足我们要求的地方:

1)对于ssdb,是用一个和Redis协议不一样的网络协议,而且命令也和Redis不太一样,存储引擎也是用了相比RocksDB性能比较差的LevelDB

2)对于pika,使用了Redis的协议和命令,但对于不同的数据类型,可以允许key重复,然后zset的score不支持double类型,依赖的库也比较复杂

5. Kedis-Server的特点

1) 用RocksDB作为存储引擎

2)支持Redis协议和大部分常用的Redis命令

3)主从复制支持全量和增量复制模式,用binlog进行增量数据同步,即时断开很长的时间,也能用增量同步数据

4. zset支持的score支持double类型,完全兼容Redis命令

5. 编译简单,要用一个命令就可以编译服务器

6. 更多特性详见项目文档

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论

点击加入讨论🔥(6) 发布并加入讨论🔥
暂无内容
发表了博客
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
发表了问答
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
暂无内容
6 评论
77 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部