![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
DCS
文章平均质量分 86
中间件小哥
中间件技术、IT咨询的快递小哥
展开
-
Redis 7.0 新功能新特性总览
近日,Redis 开源社区发布了7.0的两个预览版。在这两个预览版中,有很多Redis 7.0中新增加的特性,新增加的命令或已有命令的新加参数,一些性能上的优化和提高,还有一些API的改变,并且修复了以前版本中的一些bug,下面让我们具体来看一下这些方面的内容。翻译 2022-03-04 14:31:15 · 1381 阅读 · 1 评论 -
DBA:介里有你没有用过的“CHUAN”新社区版本Redis6.0
本文分享自华为云社区《DCS 社区版 Redis6.0 技术大揭秘》,作者:叮叮当当的猫。自从Redis进入6.0版本之后,新特性和功能改进每月都有新变化,升级速度简直是开挂上天啦!并且,对于 6.0 版本,Redis 之父 Antirez 在 RC1 版本发布时(2019-12-19)在他的博客上连续用了几个“EST”词语来评价:这个版本提供了诸多令人心动的新特性及功能改进,比如新网络协议 RESP3,新的集群代理,ACL 等,其中关注度最高的应该是“多线程”了。华为云DCS也第一时间启.转载 2021-09-16 08:57:25 · 80 阅读 · 0 评论 -
Redis 6多线程I/O vs Elasticache vs KeyDB
翻译自:https://docs.keydb.dev/blog/2020/04/15/blog-post/随着Redis 6多线程I/O的出现,该博客比较了Elasticache,KeyDB和Redis 6.0的单节点性能。我们将研究不同负载和不同工具下的吞吐量和时延。背景介绍KeyDB大约是在一年前作为Redis的分支引入的,通过多线程实现显著的性能提升。不久之后,亚马逊宣布了含有增强io处理Redis内核的Elasticache。Redis最近也发布了支持多线程io的6.0版。与Redis6翻译 2021-09-16 02:39:47 · 721 阅读 · 0 评论 -
KeyDB中的子key过期
来源:https://docs.keydb.dev/blog/2021/06/08/blog-post/在Redis社区有一个很早就提出来的功能:让SET和HASH数据类型的子成员有自己的过期时间。Redis没有接受该需求,可能是考虑到在没有内置命令的情况下实现该功能比较困难,但KeyDB(Redis的一个分支)专注于提供易于使用的高性能Redis,所以实现了该功能。KeyDB添加子key过期的最初尝试是对每个expire都添加一个用于子key过期的vector,但这会导致某些性能问题。我们接下来将翻译 2021-09-16 02:33:12 · 258 阅读 · 0 评论 -
Redis STRALGO LCS命令与实现
作者: Wen Hui转载:中间件小哥在 Redis 6.0-rc4版本的reiease中,我们看到 Redis支持一个新命令及其子命令: STRALO LCS, LCS是longest common subsequence(最长公共子序列)的缩写,其定义是:一个数列{\displaystyle S},如果分别是两个或多个已知数列的子序列,且是所有符合此条件序列中最长的,则{\displaystyle S}称为已知序列的最长公共子序列。例如x = [A,,B,C,B,D,A,B], y = [B,D转载 2020-10-28 03:11:12 · 419 阅读 · 0 评论 -
RedisConf 2020 之硬件级Redis数据加密
来源:RedisConf 2020 organized by Redis Labs and https://www.anjuna.io/redis-solution翻译:Wen Hui转载:中间件小哥为什么需要硬件级别的安全技术内部人员已经对企业IT构成了主要威胁。尽管大多数企业已经采取措施来保护IT系统免受最终用户的侵害,但是具有不受限制的访问权限和资格证书的内部人员可能更加危险。黑客也可以让他们的侵入看起来像内部人员所为。由于在软件层面防止IT内部威胁的方法和技术具有严重的局限.翻译 2020-10-27 01:38:11 · 394 阅读 · 0 评论 -
RedisConf2020之Redis客户端缓存
来源:Ben Malec from Paylocity and RedisConf 2020 organized by Redis Labs翻译:Wen Hui转载:中间件小哥这篇文章中我们介绍如何使用Redis 6中关于客户端缓存的支持来设计我们的客户端缓存机制。我们首先来看一个典型的web应用如下:在loadbalancer后面我们有多个web服务器,并与相同的SQL数据库相连接。另外,在每个web服务器中,我们有多个服务器端缓存用来在服务器端缓存SQL数据库中的数据。我们.翻译 2020-10-27 00:56:00 · 191 阅读 · 0 评论 -
Redis Conf 2020之提高Redis访问速度最佳实践
来源:Zohaib Sibte Hassan from Doordash and RedisConf 2020 (redisconf.com/) organized by Redis Labs (redislabs.com)翻译:Wen Hui转载:中间件小哥1. Cache stampede问题:Cache stampede问题又叫做cache miss storm,是指在高并发场景中,缓存同时失效导致大量请求透过缓存同时访问数据库的问题。如上图所示:服务器a,b 访问数据的前翻译 2020-10-19 21:51:12 · 591 阅读 · 0 评论 -
Redis 6客户端追踪简介
作者:Wen Hui转载:中间件小哥客户端追踪是Redis 6中引入的新概念。这个特性主要辅助客户端在Redis服务端键值被其他客户端更新后,能及时通知客户端将缓存过的键值逐出并更新。从而减少或避免数据一致性带来的问题。目前的客户端追踪包含以下模式:1)普通追踪模式命令:CLIENT TRACKING ON特点:1.当客户端开启追踪时,服务器端保存一个无效表(Invalidation Table)来记录所有相应客户端读取过的键的信息。2.当相应的键被更改时,向相应的客户端发送缓存转载 2020-10-19 21:45:41 · 185 阅读 · 0 评论 -
RedisConf 2020之Keynotes
来源:RedisConf 2020 (https://redisconf.com/) organized by Redis Labs (https://redislabs.com/)翻译:Wen Hui转载:中间件小哥一年一度的RedisConf大会今年因为新冠疫情改成了线上的形式,以前需要额外注册的培训部分这次也可以在网上观看视频了。今年RedisConf的最大亮点当然是Redis 6.0的正式发布了。不过Redis 6.0 RC版本去年底就发布了,而且6.0里好几个重要特性(多线程IO、RE翻译 2020-09-30 00:35:53 · 135 阅读 · 0 评论 -
Redis 6.0 TLS支持
原文:https://redis.io/topics/encryption翻译:Wen Hui转载:中间件小哥Redis从版本6开始支持SSL / TLS,这是一项可选功能,需要在编译时启用。编译要使用TLS支持进行构建,你需要OpenSSL开发库(例如Debian / Ubuntu上的libssl-dev)。运行make BUILD_TLS = yes。验证要使用TLS运行Redis测试套件,你需要TCL的TLS支持(即Debian / Ubuntu上的tcl-..翻译 2020-09-29 05:40:54 · 1633 阅读 · 0 评论 -
Redis 6.0 客户端缓存的服务器端实现
原文:https://redis.io/topics/client-side-caching翻译:Wen Hui转载:中间件小哥客户端缓存是用于提供高性能服务的一项技术。它使用应用服务器节点(通常情况下和数据库服务器使用不同的物理机)的可用内存,用来在应用端直接存储一部分数据库信息。正常情况下当客户端请求应用服务器一些数据时,应用服务器会请求数据库这些信息,如下图所示:当使用客户端缓存时,应用服务器端会存储经常访问的数据请求,以便在下次客户端请求过程中重用之前的数据库查询回复,而无需翻译 2020-09-29 05:34:18 · 399 阅读 · 0 评论 -
Redis Sentinel 源码分析 - Sentinel的初始化
作者:Wen Hui转载:中间件小哥Redis Sentinel 是Redis提供的高可用模型解决方案。Sentinel可以自动监测一个或多个Redis主备实例,并在主实例宕机的情况下自动实行主备倒换。本系列通过作者对Redis Sentinel源码的理解,详细说明Sentinel的代码实现方式。Sentinel使用Redis内核相同的事件驱动代码框架, 但Sentinel有自己独特的初始化步骤。在这篇文章里,作者会介绍Sentinel与Redis服务器不同的初始化部分。我们可以通过redi转载 2020-09-25 12:17:13 · 177 阅读 · 0 评论 -
Redis Sentinel 源码分析 - Sentinel 选举机制和主备倒换
作者:Wen Hui转载:中间件小哥Sentinel 的选举机制在上面的文章我们提到过,Sentinel在主备倒换的过程中会使用is-master-down-by-addr命令来与其他Sentinel进行通信以取得其他Sentinel的投票。每个Sentinel实例都有被选举成领头Sentinel的机会,领头Sentinel会主导整个主节点下线进行主备倒换的过程。如上面代码所示,当Sentinel在主备倒换开始的时候会使用is-master-down-by-addr命令附上自己的运行Id转载 2020-09-25 12:11:34 · 432 阅读 · 0 评论 -
Redis Sentinel 源码分析 - Sentinel 网络连接和Tilt模式
作者:Wen Hui转载:中间件小哥在上一篇文章中我们介绍了Sentinel的初始化和主循环,这一篇我们介绍Sentinel的网络连接以及tilt模式。Sentinel的网络连接在前面的文章曾经提到每个Sentinel实例会维护与所监测的主从实例的两个连接,分别是命令连接(Command Connection)和发布订阅连接(Pub/Sub Connection)。但是需要注意的是,Sentinel和其他Sentinel之间只有一个命令连接。下面将分别介绍命令连接和发布订阅连接的作用。.转载 2020-09-25 12:00:14 · 206 阅读 · 0 评论 -
Redis Sentinel 源码分析 - Sentinel 的主时间事件函数
作者:Wen Hui转载:中间件小哥Sentinel 使用和Redis服务器相同的事件处理机制:分为文件事件和时间事件。文件事件处理机制使用I/O 多路复用来处理服务器端的网络I/O 请求,例如客户端连接,读写等操作。时间处理机制则在主循环中周期性调用时间函数来处理定时操作,例如服务器端的维护,定时更新,删除等操作。Redis服务器主时间函数是在server.c中定义的serverCron函数,在默认情况下,serverCron会每100ms被调用一次。在这个函数中,我们看到如下代码:其中当转载 2020-09-25 11:56:19 · 88 阅读 · 0 评论 -
利用 Redis 来优化功能部署和错误分类
来源:Redislabs作者:Shabih Syed翻译:Kevin(公众号:中间件小哥)为了让系统运行更流畅,又避免 Knights Capital 在 2012 年犯下的 4.6 亿美元的错误,一家领先的金融市场制造商的单日计算机系统故障给 IT 社区提供了一些教训,包括系统组件的设计、实现,和DevOps 的重要性。在这个由两部分组成的博客中,我将分享一些想法,以帮助开发...翻译 2019-12-18 09:27:19 · 147 阅读 · 0 评论 -
作为一个纯粹数据结构的 Redis Streams
来源:antirez翻译:Kevin (公众号:中间件小哥)Redis 5 中引入了一个名为 Streams 的新的 Redis 数据结构,吸引了社区极大的兴趣。接下来,我会在社区里进行调查,同用户们谈谈他们在实际生产中的使用场景,然后写个博客记录一下。今天我想解决另一个问题:我有点怀疑许多用户仅仅把Streams 作为解决类似 Kafka 所要解决的问题的一个手段。实际上,这个...翻译 2019-11-30 16:26:16 · 218 阅读 · 0 评论 -
Redis 4.0鲜为人知的功能将加速您的应用程序
来源:Redislabs作者:Kyle Davis翻译:Kevin(公众号:中间件小哥)Redis 4.0给Redis生态带来了一个惊人的功能:Modules(模块)。Modules是Redis的一大转变,它是Redis内部自定义数据类型和全速计算的开放环境。但是,尽管对该版本的大多数关注都集中在Modules上,但新版本还引入了一个非常重要的命令,它就是游戏规则的改变者:UNLIN...翻译 2019-11-26 20:34:49 · 140 阅读 · 0 评论 -
Redis Streams与Spark的完美结合
来源:Redislabs作者:Roshan Kumar翻译:Kevin(公众号:中间件小哥)最近,我有幸在 Spark +AI 峰会上发表了题目为“Redis + Structured Streaming:扩展您的持续应用的完美组合”的演讲。我对这个主题的兴趣是由 Apache Spark 和 Redis 在过去几个月中引入的新功能引起的。根据我之前使用 Apache Spar...翻译 2019-10-17 17:35:58 · 216 阅读 · 0 评论 -
选择高性能NoSQL数据库的5个步骤
来源:Redislabs作者:Shabih Syed翻译:Kevin(公众号:中间件小哥)构建在线和运营应用程序的开发团队越来越多地选择一类新的数据库来支持它们。它被称为“NoSQL”或“Not Only SQL”,包括Redis,MongoDB等非SQL数据库。从可用的NoSQL解决方案中选择正确的数据库,是您在设计新应用程序时可以做出的最重要决策之一。因此,如果您正在评估No...翻译 2019-10-16 17:08:14 · 202 阅读 · 0 评论 -
如何将 Redis 用于微服务通信的事件存储
来源:Redislabs作者:Martin Forstner翻译:Kevin (公众号:中间件小哥)以我的经验,将某些应用拆分成更小的、松耦合的、可协同工作的独立逻辑业务服务会更易于构建和维护。这些服务(也被称为微服务)各自管理自己的技术栈,因此很容易独立于其他服务进行开发和部署。前人已经总结了很多关于使用这种架构设计的好处,在此我就不再赘述了。关于这种设计,有一个方面我一直在重点关注,...翻译 2019-10-15 17:26:46 · 252 阅读 · 0 评论 -
Redis缓存数据库安全加固指导(一)
背景在众多开源缓存技术中,Redis无疑是目前功能最为强大,应用最多的缓存技术之一,参考2018年国外数据库技术权威网站DB-Engines关于key-value数据库流行度排名,Redis暂列第一位,但是原生Redis版本在安全方面非常薄弱,很多地方不满足安全要求,如果暴露在公网上,极易受到恶意攻击,导致数据泄露和丢失。本文主要是在原生开源软件Redis3.0基础上,系统的在安全特性方面...原创 2018-08-21 15:22:42 · 609 阅读 · 0 评论 -
DCS实践干货:使用Redis实现分布式锁
场景介绍很多互联网场景(如商品秒杀,论坛回帖盖楼等),需要用加锁的方式,以对某种资源进行顺序访问控制。如果应用服务集群部署,则涉及到对分布式应用加锁。当前分布式加锁主要有三种方式:(磁盘)数据库、缓存数据库、Zookeeper。接下里让我们一起看看加锁实践过程。 加锁实现1 package dcsDemo01;2 3 import java.util.UUID;4 5 import ...原创 2018-06-28 10:15:55 · 333 阅读 · 0 评论 -
还在自建Redis缓存?那你就out了
Redis 是什么?简单来说,Redis是一个开源的内存数据库,支持Key-Value等多种数据结构,可用于缓存、事件发布或订阅、高速队列等场景。Redis使用ANSIC语言编写,支持网络,提供字符串、哈希、列表、队列、集合结构直接存取,基于内存,可持久化。 在游戏应用中,可以将一些非角色数据,如排行榜等存储在Redis中以提升用户访问速度。但在云计算环境下,日益增长的海量数据与用户请求为缓存服务...原创 2018-05-30 19:38:35 · 967 阅读 · 0 评论 -
分布式缓存Redis应用场景解析
Redis的应用场景非常广泛。虽然Redis是一个key-value的内存数据库,但在实际场景中,Redis经常被作为缓存来使用,如面对数据高并发的读写、海量数据的读写等。举个例子,A网站首页一天有100万人访问,其中有一个“积分商城”的板块,要直接从数据库查询,那么一天就要多消耗100万次数据库请求。如果将这些数据储存到Redis(内存)中,要用的时候,直接从内存调取,不仅可以大大节省系统直接读...原创 2018-05-29 19:42:41 · 387 阅读 · 0 评论 -
关于redis,学会这8点就够了
1,redis是什么redis是一种支持Key-Value等多种数据结构的存储系统。可用于缓存,事件发布或订阅,高速队列等场景。该数据库使用ANSI C语言编写,支持网络,提供字符串,哈希,列表,队列,集合结构直接存取,基于内存,可持久化。2,支持的语言3,redis的应用场景有哪些1,会话缓存(最常用)2,消息队列,比如支付3,活动排行榜或计数4,发布,订阅...转载 2018-05-17 19:03:26 · 205450 阅读 · 39 评论 -
Redis缓存数据库安全加固指导(二)
背景在众多开源缓存技术中,Redis无疑是目前功能最为强大,应用最多的缓存技术之一,参考2018年国外数据库技术权威网站DB-Engines关于key-value数据库流行度排名,Redis暂列第一位,但是原生Redis版本在安全方面非常薄弱,很多地方不满足安全要求,如果暴露在公网上,极易受到恶意攻击,导致数据泄露和丢失。本文主要是在原生开源软件Redis3.0基础上,系统的在安全特性方面...原创 2018-09-18 18:03:52 · 1141 阅读 · 0 评论 -
Redis开源项目的终极杀手? ——CRUG解读Redis开源协议变更
引言:数据库制造商 Redis Labs 本周将公司开发的Redis 模块从 AGPL 迁移到将 Apache v2.0 与 Commons Clause 相结合的许可证,对许可证涵盖的软件作了限制。许可证的变更意味着自研 Redis 模块 - RediSearch,Redis Graph,ReJSON,ReBloom 和 Redis-ML 将不再是开源软件,而是源码可用(source ava...原创 2018-10-30 19:07:19 · 862 阅读 · 0 评论 -
Redis实践系列丨Codis数据迁移原理与优化
Codis介绍Codis 是一种Redis集群的实现方案,与Redis社区的Redis cluster类似,基于slot的分片机制构建一个更大的Redis节点集群,对于连接到codis的Redis客户端来说, 除了部分不支持的命令外,与连接开源的 Redis Server 没有明显的区别, 客户端代码基本需要进行修改,Codis-proxy会根据访问的key进行slot的计算,然后转发请求到对...原创 2018-11-16 11:01:25 · 460 阅读 · 0 评论 -
云上领跑,快人一步:华为云抢先发布Redis5.0
12月17日,华为云在DCS2.0的基础上,快人一步,抢先推出了新的Redis 5.0产品,这是一个崭新的突破。目前国内在缓存领域的发展普遍停留在Redis4.0阶段,华为云率先发布了Redis5.0,全面展现了华为云在业界缓存领域持续创新的实力。华为云分布式缓存Redis5.0携流而来,以更快,更潮的特性及更优秀的内核,释放更强大的商业价值。 华为云Redis的是什么?如果用两个字来...原创 2018-12-19 17:37:30 · 319 阅读 · 0 评论 -
缓存技术在华为公有云环境中的挑战与应用
12月1日,ACMUG & CRUG 2018 技术沙龙全国巡演第十站在西安举办。华为云中间件产品经理 Kevin 在会上带来了《缓存技术在华为公有云环境中的挑战与应用》主题演讲,为大家介绍和分享了华为云分布式缓存服务(Distributed Cache Service,简称DCS)的应用与挑战。 分享亮点 DCS缓存体系结构和使用模式 使用案例 ...原创 2018-12-07 09:31:59 · 245 阅读 · 0 评论 -
Redis5.0之Stream案例应用解读
非常高兴有机会和大家在这里交流Redis5.0之Stream应用。今天的分享更多的是一个抛砖引玉,欢迎大家提出更多关于Redis的思考。 首先,我们来个假设,这里有个杯子,这个杯子是去年我老婆送的,送的原因是我以前的杯子保温性能太好,导致我很少能喝上水,而这样敞口的杯子能促使我多喝水。虽然这杯子在商家的货架上只是千千万万只杯子中的一只,但是它对我来说仍然是不同的。不同的是过往,是记忆。这记...原创 2019-01-17 11:02:25 · 598 阅读 · 0 评论 -
如何更有效的消灭watchdogs挖矿病毒?华为云DCS Redis为您支招
漏洞概述近日,互联网出现watchdogs挖矿病毒,攻击者可以利用Redis未授权访问漏洞入侵服务器,通过内外网扫描感染更多机器。被感染的主机出现 crontab 任务异常、系统文件被删除、CPU 异常等情况,并且会自动感染更多机器,严重影响业务正常运行甚至导致崩溃。在此,小哥建议您及时开展Redis业务自查并进行升级修复,避免业务和经济损失。 漏洞影响1、数据泄露。Redis...原创 2019-02-27 11:55:29 · 1157 阅读 · 0 评论 -
让你的AI模型尽可能的靠近数据源
来源:Redislabs作者:Pieter Cailliau、LucaAntiga翻译:Kevin简介今天我们发布了一个 RedisAI 的预览版本,预集成了[tensor]werk组件。RedisAI 是一个可以服务 tensors 任务和执行深度学习任务的 Redis 模块。在这篇博客中,我们将介绍这个新模块的功能,并解释我们为什么会认为它能颠覆机器学习(ML)、深度学习(DL)...翻译 2019-09-20 16:04:09 · 215 阅读 · 0 评论 -
Memcached与Redis有什么区别
Redis 和 Memcache 都是基于内存的数据存储系统。Memcached是高性能分布式内存缓存服务,其本质上就是一个内存key-value数据库。Redis是一个开源的key-value存储系统。与Memcached类似,Redis将大部分数据存储在内存中,支持的数据类型包括:字符串、哈希表、链表、集合、有序集合以及基于这些数据类型的相关操作。那么,Memcache与Redis有什么区别呢...转载 2018-05-17 18:15:46 · 489 阅读 · 0 评论