从keys命令出发-浅谈redis的字典和字典迭代器

3 月 12 日
阅读 14 分钟
40
1.keys命令keys命令相信大家应该都用过,该命令会遍历整个redis的字典空间,对要查找的key进行匹配并返回。就像官方文档所说:在生产环境使用该方法的过程中要非常小心,因为redis服务器在执行该命令的时候其他客户端读写命令都会被阻塞。使用方法: {代码...} 示例: {代码...} 2.redis的HashTable(字典)keys命令,是...

Kafka核心逻辑介绍 | 京东云技术团队

2023-12-19
阅读 5 分钟
7.4k
Kafka是最初由Linkedin公司开发,是一个分布式、支持分区的(partition)、多副本的(replica)分布式消息系统(kafka2.8.0版本之后接触了对zk的依赖,使用自己的kRaft做集群管理,新增内部主体@metadata存储元数据信息),它的最大的特性就是可以实时的处理大量数据以满足各种需求场景:比如基于hadoop的批处理系统、低...
封面图

nginx+lua+redis实现灰度发布 | 京东云技术团队

2023-12-18
阅读 27 分钟
7.2k
授人以鱼不如授人以渔.先学会用,在学原理,在学创造,可能一辈子用不到这种能力,但是不能不具备这种能力。这篇文章主要是沉淀使用nginx+lua+redis实现灰度,当我们具备了这种能力,随时可以基于这种能力和思想调整实现方案:比如nginx+lua+(其他数据源)、nginx+(其他脚本语言)
封面图

浅析Redis大Key | 京东云技术团队

2023-10-31
阅读 15 分钟
266
在京东到家购物车系统中,用户基于门店能够对商品进行加车操作。用户与门店商品使用Redis的Hash类型存储,如下代码块所示。不知细心的你有没有发现,如果单门店加车商品过多,或者门店过多时,此Key就会越来越大,从而影响线上业务。
封面图

一款Redis可视化工具:ARDM | 京东云技术团队

2023-10-08
阅读 2 分钟
281
出众的软件有很多,适合自己的才是最好的。Another Redis Desktop Manager🚀🚀🚀 更快、更好、更稳定的Redis桌面(GUI)管理客户端,兼容Windows、Mac、Linux,性能出众,轻松加载海量键值🇨🇳Windows• 可以在github 或者 gitee下载exe安装包• 或者通过chocolatey: choco install another-redis-desktop-manager• 或者通过winge...
封面图

真·Redis缓存优化—97%的优化率你见过嘛? | 京东云技术团队

2023-09-27
阅读 5 分钟
449
本文通过一封618前的R2M(公司内部缓存组件,可以认为等同于Redis)告警,由浅入深的分析了该告警的直接原因与根本原因,并根据原因提出相应的解决方法,希望能够给大家在排查类似问题时提供相应的思路。

浅谈幂等设计 | 京东云技术团队

2023-09-04
阅读 2 分钟
639
1 幂等性一句话,幂等就是一个执行操作,无论执行多少次,产生的效果和返回的结果都是一样的。2 为什么要实现幂等性?如今随着互联网技术快速发展,业务越来越复杂,系统的高并发和关键数据的场景越来越多。在分布式系统中,机器宕机和消息丢失也是需要重点关注的问题,其中的一个典型就是幂等性问题。想想看,一个对外...
封面图

谈了千百遍的数据一致性 | 京东云技术团队

2023-08-30
阅读 4 分钟
870
今天来说一个老生常谈的问题,来看一个实际案例:现有业务中往往都会通过缓存来提高查询效率,降低数据库的压力,尤其是在分布式高并发场景下,大量的请求直接访问Mysql很容易造成性能问题。有一天老板找到了你......老板:听说你会缓存?你:来看我操作。你设计了一个最常见的缓存方案,基于这种方案,开始对用户积分功...
封面图

redis分布式锁,setnx+lua脚本的java实现 | 京东物流技术团队

2023-08-29
阅读 6 分钟
732
在现在工作中,为保障服务的高可用,应对单点故障、负载量过大等单机部署带来的问题,生产环境常用多机部署。为解决多机房部署导致的数据不一致问题,我们常会选择用分布式锁。
封面图

浅谈Redis - 热点key问题 | 京东云技术团队

2023-08-21
阅读 1 分钟
751
热key问题就是突然有几十万的请求去访问redis上的某个特定key,那么这样会造成流量过于集中,达到物理网卡上限,从而导致这台redis服务器直接宕机。
封面图

分而治之--浅谈分库分表及实践之路 | 京东云技术团队

2023-06-01
阅读 6 分钟
944
之前总在聊微服务, 微服务本身也是分布式系统,其实微服务的核心思想是分而治之,把一个复杂的单体系统,按照业务的交付,分成不同的自服务,以降低资深复杂度,同时可以提升系统的扩展性。
封面图

图解Redis和Zookeeper分布式锁 | 京东云技术团队

2023-05-31
阅读 10 分钟
359
Redis分布式锁原理如上图所示,当有多个Set命令发送到Redis时,Redis会串行处理,最终只有一个Set命令执行成功,从而只有一个线程加锁成功
封面图

解密Elasticsearch:深入探究这款搜索和分析引擎 | 京东云技术团队

2023-05-05
阅读 5 分钟
576
最近使用Elasticsearch实现画像系统,实现的dmp的数据中台能力。同时调研了竞品的架构选型。以及重温了redis原理等。特此做一次es的总结和回顾。网上没看到有人用Elasticsearch来完成画像的。我来做第一次尝试。
封面图

缓存空间优化实践

2023-04-17
阅读 7 分钟
651
缓存Redis,是我们最常用的服务,其适用场景广泛,被大量应用到各业务场景中。也正因如此,缓存成为了重要的硬件成本来源,我们有必要从空间上做一些优化,降低成本的同时也会提高性能。
封面图

Redis缓存高可用集群

2023-04-10
阅读 8 分钟
671
在redis3.0以前的版本要实现集群一般是借助哨兵sentinel工具来监控master节点的状态,如果master节点异常,则会做主从切换,将某一台slave作为master,哨兵的配置略微复杂,并且性能和高可用性等各方面表现一般。
封面图

Redis集群介绍及测试思路

2023-04-07
阅读 12 分钟
827
Redis集群一般有四种方式,分别为:主从复制、哨兵模式、Cluster以及各大厂的集群方案。在3.0版本之前只支持单实例模式,3.0之后支持了集群方式。在3.0之前各大厂为了解决单实例Redis的存储瓶颈问题各自推出了自己的集群方案,其核心思想就是数据分片,主要有客户端分片、代理分片、服务端分片。这里咱们只介绍前三种方...
封面图

配运基础数据缓存瘦身实践

2023-03-08
阅读 4 分钟
552
在现代物流的实际作业流程中,会有大量关系到运营相关信息的数据产生,如商家,车队,站点,分拣中心,客户等等相关的信息数据,这些数据直接支撑齐了物流的整个业务流转,具有十分重要的地位,那么对于这一类数据我们需要提供基本的增删改查存的能力,目前京东物流的基础数据是由中台配运组来整体负责。
封面图

深入理解跳表及其在Redis中的应用

2023-02-23
阅读 14 分钟
969
跳表可以达到和红黑树一样的时间复杂度 O(logN),且实现简单,Redis 中的有序集合对象的底层数据结构就使用了跳表。其作者威廉·普评价:跳跃链表是在很多应用中有可能替代平衡树的一种数据结构。本篇文章将对跳表的实现及在Redis中的应用进行学习。**
封面图

Redis分布式锁正确打开方式

2023-02-14
阅读 16 分钟
903
作者:京东保险 张江涛1、为什么要有分布式锁?JUC提供的锁机制,可以保证在同一个JVM进程中同一时刻只有一个线程执行操作逻辑;多服务多节点的情况下,就意味着有多个JVM进程,要做到这样,就需要有一个中间人;分布式锁就是用来保证在同一时刻,仅有一个JVM进程中的一个线程在执行操作逻辑;换句话说,JUC的锁和分布式...
封面图

Redis 异步客户端选型及落地实践

2023-02-08
阅读 7 分钟
955
为了支持更加广泛的业务场景,可视化编排系统近期需要支持对缓存的操作功能,为保证编排系统的性能,服务的执行过程采用了异步的方式,因此我们考虑使用Redis的异步客户端来完成对缓存的操作。
封面图

R2M分布式锁原理及实践

2023-02-07
阅读 8 分钟
737
作者:京东科技 张石磊1 案例引入名词简介:资源:可以理解为一条内容,或者图+文字+链接的载体。档位ID: 资源的分类组,资源必须归属于档位。问题描述:当同一个档位下2条资源同时审批通过时,收到擎天审批系统2条消息,消费者应用部署了2台机器,此时正好由2台机器分别消费,在并发消费时,先更新资源状态,然后写缓存...
封面图

一文搞懂Redis

2023-02-07
阅读 30 分钟
648
作者:京东物流 刘丽侠 姚再毅 康睿 刘斌 李振一、Redis的特性1.1 Redis为什么快?基于内存操作,操作不需要跟磁盘交互,单次执行很快命令执行是单线程,因为是基于内存操作,单次执行的时间快于线程切换时间,同时通信采用多路复用Redis本身就是一个k-v结构,类似于hashMap,所以查询性能接近于O(1)同时redis自己底层数...
封面图

如何实现千万级优惠文章的优惠信息同步

2023-01-31
阅读 3 分钟
682
作者:京东科技 文涛背景金融社区优惠文章是基于京东商城优惠商品批量化自动生成的,每日通过不同的渠道获取到待生成的SKU列表,并根据条件生成优惠文章。但是,生成优惠文章之后续衍生问题:该商品无优惠了,对应文章需要做取消推荐或下架处理,怎样能更快的知道该商品无优惠了呢?方案介绍方案对比方案1承接该商品所有...
封面图

Redis缓存的主要异常及解决方案

2023-01-29
阅读 8 分钟
984
Redis 是当前最流行的 NoSQL数据库。Redis主要用来做缓存使用,在提高数据查询效率、保护数据库等方面起到了关键性的作用,很大程度上提高系统的性能。当然在使用过程中,也会出现一些异常情景,导致Redis失去缓存作用。
封面图

一种面向业务配置基于JSF广播定时生效的工具

2023-01-19
阅读 7 分钟
889
目前,ducc实现了实时近乎所有配置动态生效的场景,但是配置是否实时生效,不能直观展示每个机器上jvm内对象对应的参数是否已变更为准确的值,大部分时候需要查看日志确认是否生效。
封面图

文盘Rust -- r2d2 实现redis连接池

2022-12-07
阅读 5 分钟
1.2k
在后端应用集成redis,我们主要用到以下几个crate:​ ​once_cell​​​、​ ​redis-rs​​​、​ ​r2d2​​​.once_cell 实现单例;redis-rs 是 redis的 rust 驱动;r2d2 是一个池化连接的工具包。本期代码均出现在​ ​fullstack-rs​​​项目中。​ ​fullstack-rs​​​是我新开的一个实验性项目,目标是做一个类似​ ​gin-vue-admin​​的集成...
封面图

「案例分享」研发效能提升之第一性原理

2022-11-23
阅读 3 分钟
689
被埃隆·马斯克多次提及的第一性原理First principle thinking,是计算物理学领域的一个专业术语,在商业领域依然具有鲜活的生命力。读过《硅谷钢铁侠》这本书的知道,正是因为应用了第一性原理对问题进行分析,才使得马斯克在跨航天、汽车、能源和软件领域创新硕果累累,比如SpaceX的成功,就是从根本上找到运载火箭的成...
封面图

Redis数据结构(二)-List、Hash、Set及Sorted Set的结构实现

2022-10-26
阅读 7 分钟
838
List类型通常被用作异步消息队列、文章列表查询等;存储有序可重复数据或做为简单的消息推送机制时,可以使用Redis的List类型。对于这些数据的存储通常会使用链表或者数组作为存储结构。
封面图

Redis数据结构(一)-Redis的数据存储及String类型的实现

2022-10-25
阅读 6 分钟
676
Redis作为基于内存的非关系型的K-V数据库。因读写响应快速、原子操作、提供了多种数据类型String、List、Hash、Set、Sorted Set、在项目中有着广泛的使用,今天我们来探讨下下Redis的数据结构是如何实现的。
封面图

文盘Rust -- struct 中的生命周期

2022-10-08
阅读 3 分钟
886
最近在用rust 写一个redis的数据校验工具。redis-rs中具备 redis::ConnectionLike trait,借助它可以较好的来抽象校验过程。在开发中,不免要定义struct 中的某些元素为 trait object,从而带来一些rust语言中的生命周期问题。本文不具体讨论 redis的数据校验过程,通过一个简单的例子来聊聊 struct 中 trait object 元...
封面图