视野 | KeyDB:为 Web 应用而生的高性能 Redis 分支

王奇 顾问软件工程师
目前从事 PaaS 中间件服务(Redis / MongoDB / ELK 等)开发工作,对 NoSQL 数据库有深入的研究以及丰富的二次开发经验,热衷对 NoSQL 数据库领域内的最新技术动态的学习,能够把握行业技术发展趋势。

随着 Web 2.0 的不断发展,业务需求也不断变化。Redis 是一款诞生于 2009 年的高性能内存键值数据库,在近十年的互联网架构中承担了不可替代的作用,实现了很多复杂的业务需求,深受技术爱好者的喜爱。近些年 Web 3.0 概念的提出也为 Redis 提出了更高的挑战。

背景

最近客户提出一个问题:

Redis 能否在不增加资源的场景下明显提高QPS?

这是个看似不合理的问题,用户的需求是 QPS 提高,但不增加资源投入。一般提高 QPS 的思路大多是横向扩展,集群节点数越多 QPS 就越高,但成本也就越高。如果想要达成这个诉求,那 KeyDB[1] 也许是一个不错的选择。

KeyDB 简介

视野 | KeyDB:为 Web 应用而生的高性能 Redis 分支

图片来源:https://keydb.dev/

KeyDB 是 Redis 的分支,专注于多线程、内存效率和高吞吐量。除了多线程之外,KeyDB 还具有仅在 Redis Enterprise 中才能使用的功能,例如:Active Replication、FLASH 存储,直接备份到 S3,且对 Redis 完全兼容。

仓库地址:https://github.com/EQ-Alpha/KeyDB

设计差异

Redis 是采用单线程设计的典范,在效率和性能之间有独特的设计逻辑。

KeyDB 将 Redis 主线程拆分为主线程和 Worker 线程。其中,每个 Worker 线程都是一条 I/O 线程,负责监听端口和 Accept 请求,优化读取数据和解析协议,可大幅度提升 I/O 性能。

视野 | KeyDB:为 Web 应用而生的高性能 Redis 分支

功能优势

1、跨域多主

KeyDB 支持多个异步复制架构的主节点彼此同步。支持复制架构中所有节点都是主节点,不需要哨兵监控节点。在 Redis 原有的高可用架构之外,又增加了新的架构思路。

2、垂直和水平缩放

KeyDB 是多线程设计,可以支持垂直/水平扩展,最大化资源利用率。对于那些 Redis 实例达到设备上线的情况,这是一个很好的替代选择。使用标准 KeyDB 节点最多可有效使用 10 个内核,启用 TLS 时可有效使用 16 个内核!

3、更方便的生存时间设置

KeyDB 提供了 Subkey EXPIRE,可以精确设置集合中成员的过期时间。EXPIREs 现在还具有近乎实时的主动删除功能。

4、TLS 加密

KeyDB 提供 TLS 支持,其吞吐量是 Redis + TLS 的 7 倍!

虽然 TLS 加密增加了额外的 CPU 开销,但 KeyDB 的多线程架构支持更多的工作线程来防止性能下降。

5、ModJS

可以使用 KeyDB 开源的 Javascript 模块创建自定义命令。建立在强大的 V8 JIT 引擎之上,ModJS 比 LUA 更快,并支持许多 node.js 模块,为常见任务提供广泛的库支持。

6、ARM 支持

KeyDB 支持 ARM。

性能优势

视野 | KeyDB:为 Web 应用而生的高性能 Redis 分支

图片来源:KeyDB 官网

总结

也许您对官方的性能数据存疑,下一期我们将对 KeyDB 和 Redis 进行更全面的性能测试,希望给客户的提问一个更全面的回答,敬请期待。

参考引用

[1]:KeyDB:https://keydb.dev/

Original: https://www.cnblogs.com/radondb/p/15867003.html
Author: RadonDB
Title: 视野 | KeyDB:为 Web 应用而生的高性能 Redis 分支

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/507834/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • MySQL金额数字转为大写中文

    MySQL版本:5.7.34-log通过创建函数的方法,目前可以实现整数金额的转换,网上暂未找到MySQL版本的故自己参照其他数据库版本的改编了一下, 仅供参考!!!使用方法:se…

    数据库 2023年5月24日
    078
  • B树-查找

    B树系列文章 1. B树-介绍 2. B树-查找 3. B树-插入 4. B树-删除 查找 假设有一棵3阶B树,如下图所示。 下面说明在该B树中查找 52的过程 首先,从根结点出发…

    数据库 2023年6月14日
    0144
  • Harbor部署

    harbor 无论是使用Docker-distribution去自建仓库,还是通过官方镜像跑容器的方式去自建仓库,通过前面的演示我们可以发现其是非常的简陋的,还不如直接使用官方的D…

    数据库 2023年6月14日
    095
  • 多线程

    public class 多线程 { static boolean flag = true; static class t1 implements Runnable{ @Overr…

    数据库 2023年6月16日
    0107
  • 07-MyBatis中的动态标签

    MyBatis中的动态标签 1、if标签 if标签是为了判断传入的值是否符合某种条件,比如是否不为空 2、where标签 where标签可以用来做动态拼接查询条件,当和 if标签配…

    数据库 2023年6月16日
    087
  • Nginx 简介、安装、核心配置

    Nginx简介 背景介绍 Nginx(”engine x”)一个具有高性能的【HTTP】和【反向代理】的【WEB服务器】,同时也是一个【POP3/SMTP/…

    数据库 2023年6月6日
    0116
  • 第05章 MySQL排序与分页

    第05章 MySQL排序与分页 1. 排序数据 1.1 排序规则 使用 ORDER BY 子句排序 ASC(ascend): 升序 DESC(descend):降序 *ORDER …

    数据库 2023年5月24日
    097
  • Javaweb-Ajax详解

    一、概念 Ajax = Asynchronous JavaScript and XML(异步的JavaScript和XML) Ajax不是一种新的编程语言,而是一种用于创建更好更快…

    数据库 2023年6月16日
    087
  • StoneDB 亮相中国信通院OSCAR开源产业大会,石原子科技正式加入科技制造开源社区!

    2022 年 9 月 16 日,由中国信息通信研究院(以下简称”信通院”)主办的”2022 OSCAR 开源产业大会”活动于北京成功…

    数据库 2023年6月11日
    095
  • 2022-8-10 JAVA的反射机制

    反射机制 AVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方…

    数据库 2023年6月14日
    084
  • 细数线程池五大坑,一不小心线上就崩了

    系统性能优化的几种常用手段是异步和缓存。因此我们常常使用线程池异步处理一些业务。 线程池的使用还是相对比较简单的,首先创建一个线程池,然后通过execute或submit执行任务。…

    数据库 2023年6月6日
    0157
  • 从学校到公司,2022新的起点!!!

    步入新的阶段 目前仍然是大学生的身份,但也算是打工人了。2021秋招时来到了天津的一个公司做实习生,并签订了三方协议。已经来公司将近一个月了,我在这段时间想了很多关于我的未来发展方…

    数据库 2023年6月6日
    080
  • md5解密异常

    javax.crypto.BadPaddingException: Given final block not properly paddedat com.sun.crypto.p…

    数据库 2023年6月11日
    0103
  • 【MySQL】笔记(1)— MySQL 数据库概述;常用 DOS命令,SQL命令(初步);

    sql、DB、DBMS分别是什么,他们之间的关系? DB: DataBase(数据库,数据库实际上在硬盘上以文件的形式存在) DBMS:DataBase Management Sy…

    数据库 2023年5月24日
    091
  • MYSQL–>函数与约束条件

    函数最常用的地方就是查询语句处 select 函数(字段) from &#x8868…

    数据库 2023年6月14日
    0103
  • [Npoi]Npoi导入Excel, 转为Entity

    Npoi导入Excel其实只要读成DataTable就可以随意操作了, 比如转为Entity… By: 胖纸不争NetCore🐧群: 743336452 核心代码: p…

    数据库 2023年6月9日
    091
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球