中间件与数据库:Redis
深入剖析Redis客户端Jedis的特性和原理
Jedis作为业内较通用的Redis客户端,通过深入剖析Jedis的多种模式的工作原理能够在日常工作中更好的使用。
Redis大集群扩容性能优化实践
本文介绍了一次大规模的Redis集群进行扩容操作遇到的性能问题,排查以及优化过程。
Streaming Real-Time Analytics with Redis, AWS Fargate, and Dash Framework
Uber’s GSS (Global Scaled Solutions) team runs scaled programs for diverse products and businesses, including but not limited to Eats, Rides, and Freight. The team transforms Uber’s ideas into agile, global solutions by designing and implementing scalable solutions. One of the areas of expertise within GSS is the Digitization vertical. The Digitization team efficiently converts physical signals into digital assets and provides services in labeling, in-field testing, data curation and validations for maps, product incubation, freight BOL (bill of lading), Eats menu uploads, etc.
All these digitization services are performed by thousands of humans (operators) working on our internal applications across many locations around the globe. While an operator is digitizing data, our backend collects a clickstream of all the user interactions in the form of raw events to the scale of 10 million events per day in AWS (Amazon Web Services) cloud infrastructure. Sometimes this data is also moved to Uber’s own data centers. Our data analytics team performs analysis on this data to improve/tweak the process, augment tooling infrastructure, address operator motivation, and improve operator skills. Analytics is usually performed by querying big data lakes and using different frontend tools for visualisation. Generally, any analytics setup has a latency (source to user) component to it and the latency of our existing (pre-COVID) infrastructure was 1 hour. With the onset of COVID-19 crisis, the digitization process had to be transitioned to work-from-home mode, leading to additional operational complexity of remotely managing a huge workforce of operators. This complexity created a gap in team’s communication, decision making, and collaboration. Where 1-hour latency of our analytics platform was previously acceptable, real-time analytics was needed to fill this gap. This blog describes how we improved latency of our data architecture by building a real-time analytics system.
While we researched approaches used for building real-time dashboards (example), we did not find an end-to-end solution, considering how rich visualization can be achieved at lower cost. We considered different visualization approaches and also looked at commercial solutions to come up with our choices. Another differentiating aspect was that our solution also addresses the need for a “single source of truth” on Amazon S3 (Amazon’s “simple storage service”), from which both streaming and batch processed dashboards would to be sourced, rather than hooking directly into the Amazon Kinesis Data Firehose stream itself. This intermediate storage lets us recover data (for the streaming window) with a replay. We production tested our visualizations with thousands of users for low load times and reliability.
一文详解Redis中BigKey、HotKey的发现与处理
大Key与热Key如果未能及时发现并进行处理,很可能会使服务性能下降、用户体验变差,甚至引发大面积故障。
Redis集群下mget的性能问题
最近优惠服务的redis经常会间歇性的抖动,具体表现为在短时间内redis rt上涨明显,RedisCommandTimeoutException异常陡增。
深度剖析:Redis分布式锁到底安全吗?看完这篇文章彻底懂了!
Redis 分布式锁的话题,很多文章已经写烂了,我为什么还要写这篇文章呢?
因为我发现网上 99% 的文章,并没有把这个问题真正讲清楚。导致很多读者看了很多文章,依旧云里雾里。
HyperLogLog原理及Redis实现分析
本文从实际使用场景出发,介绍了HyperLogLog算法的原理和Redis的实现。最后通过一系列实验,解释了文章最初的问题,以加深对HyperLogLog的理解。
初探 Redis 客户端 Lettuce:真香!
笔者因项目需要,在一些场景下切换成 Lettuce 进行开发,并且希望能类似 Jedis pipeline 一样提升批量查询的性能。在对 Lettuce 进行了学习和踩坑后,笔者将过程中遇到的各种关键点总结成文章分享给大家。
这篇Redis文章,图灵看了都说好
REmote DIctionary Server(Redis) 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存、分布式、可选持久性的键值对(Key-Value)存储数据库,并提供多种语言的 API。
Redis 通常被称为数据结构服务器,因为值(value)可以是字符串(String)、哈希(Hash)、列表(list)、集合(sets)和有序集合(sorted sets)等类型。
十亿级流量下,我与Redis时延小突刺的战斗史
本文记录了一次线上服务,慢接口报警的解决流程,包括遇到线上问题的应急方案、分析问题的思路,主要集中在Redis响应比较慢时的分析和解决方案,通过对问题解决过程的总结,希望可以给大家一些参考。
利用redissyncer实现数据双向同步
为你详细讲解三种Redis双向同步方案机制,并根据业务特性及需求进行权衡选择。
?【Redis原理探索】深入对持久化原理的AOF(专题篇)
Redis的AOF是类似的Log的机制,每次写操作都会写到硬盘上,当系统崩溃时,可以通过AOF来恢复数据。
每个带有写操作的命令被Redis服务器端收到运行时,该命令都会被记录到AOF文件上。由于只是一个append到文件操作(采用的是存储aof_buf中,并且采用异步方法fsync/fdatasync),所以写到硬盘上的操作往往非常快。
京东科技Redis跨数据中心双向同步优化实践
公司基于业务发展以及战略部署,需要实现在多个数据中心单元化部署,一方面可以实现多数据中心容灾,另外可以提升用户请求访问速度。需要保证多数据中心容灾或者实现用户就近访问的话,需要各个数据中心拥有一致的全量数据,如果真正实现用户就近读写,也就是实现真正的业务异地多活,数据同步是异地多活的基础,这就需要多数据中心间数据能够双向同步。
基于Redis实现特殊的消息队列
本文提出了一种可实现的基于Redis的消息队列,与传统消息队列形成互补,弥补传统消息队列这方面特性的缺失。
Redis 进阶笔记
Redis 大家用的不少,但是我们大多数人可能都只是关注业务本身,对于底层的细节则经常忽略,久而久之,对个人的成长帮助甚少。本文为大家总结了关于 Redis 常见用法的进阶指南,希望帮助大家加深对这门技术的理解。
好代码实践:基于Redis的轻量级分布式均衡消费队列
让code更快速、高效、完备地执行。