中间件与数据库:Redis
Redis分布式锁正确打开方式
随着业务的发展,架构从单体系统发展到SOA、然后是微服务。由于多进程、多线程分布在不同机器上,单机上的并发控制策略失效,于是分布式锁应运而生,跨JVM的共享资源的访问(互斥机制)得到有效解决。
一文了解Redis集群及客户端设计原理
Redis集群是一个由多个Redis实例组成的分布式系统,它可以极大提高系统的可用性和扩展性。与传统的主从复制相比,Redis集群具有更好的吞吐量、更稳定的性能和更好的数据一致性。Redis集群也是信也科技在生产环境中使用最多的redis架构。在这篇文章中,我们将深入探讨Redis集群的组成架构、工作原理和最佳实践,希望能为大家了解Redis集群提供有益的参考和指导。
Redis延迟问题全面排障指南
了解Redis排障深水区。
VLDB 顶会论文 Async-fork 解读与 Redis 实践
通过不同数据量下对比测试,我们可以看到,Async-fork 相比原生 fork,阻塞时间大大减少,性能提升非常明显。而且阻塞时间非常稳定,不会因为数据量的增长出现倍数级增长。
Redis为什么这么快?
Redis是一个开源的内存中的数据结构存储系统,在实际的开发过程中,Redis已经成为不可或缺的组件之一,基于内存实现、合理的数据结构、合理的数据编码、合理的线程模型等特征不仅仅让Redis变得如此之快,同时也造就了Redis对更多或者复杂的场景的支持。
Redis两层数据结构简介
Redis 的性能高的原因之一是它每种数据结构都是经过专门设计的,并都有一种或多种数据结构来支持,依赖这些灵活的数据结构,来提升读取和写入的性能。
Optimizing Myntra’s Pricing System for Serving Millions of Traffic under 30ms Latency
Myntra’s pricing system is responsible for uploading various discounts for different products and serving them to multiple services. Currently, the pricing system has been serving discount information with a latency of 150ms for millions of traffic. With increasing scale and the need to disseminate discount information to several other systems, it became essential to scale the system to handle the increased load while maintaining its resilience, robustness, and fault tolerance. Several new features are being developed which require pricing information to be available in synchronous flows. To enable all these features, our pricing system needs to scale to handle 10s of millions of requests with latency as low as 30ms.
芭比Q了,redis干了啥
在开发测试过程中,或排查生产问题时,难免会碰到想查看redis服务中某些key的值是怎么变动的,以便确认数据变更与业务流转是否保持一致。此时,就涉及到命令回看——回看redis中执行的变更命令(数据变更)。
那如何实现命令回看呢?作为一个redis使用人员,最先想到的是monitor命令,通过执行monitor来查看redis服务执行的命令情况。
Redis 持久化之 RDB 与 AOF
RDB持久化方式能够在指定的时间间隔内(N秒内或有M次改动时),对实例的数据进行快照存储,也就是全备的意思。
文盘Rust -- r2d2 实现redis连接池
我们在开发应用后端系统的时候经常要和各种数据库、缓存等资源打交道。这一期,我们聊聊如何访问redis 并将资源池化。
Redis数据倾斜与JD开源hotkey源码分析揭秘
本文介绍了Redis数据倾斜的相关概念,并讲解了Redis数据倾斜的原因以及应对方案,对热点问题进行了深入探讨;其次从client端、worker端、dashboard端全方位讲解了热key问题的解决方案,详细解析了JD开源项目hotkey,读者可以从本文中学到相关的方法论及其对应的落地方案。
带你走进 Redis
Redis 是一个开源、基于内存、使用 C 语言编写的 key-value 数据库,并提供了多种语言的 API。它的数据结构十分丰富,基础数据类型包括:string(字符串)、list(列表,双向链表)、hash(散列,键值对集合)、set(集合,不重复)和 sorted set(有序集合)。主要可以用于数据库、缓存、分布式锁、消息队列等...
以上的数据类型是 Redis 键值的数据类型,其实就是数据的保存形式,但是数据类型的底层实现是最重要的,底层的数据结构主要分为 6 种,分别是简单动态字符串、双向链表、压缩链表、哈希表、跳表和整数数组。
Redis 持久化机制演进与百度智能云的实践
Redis 作为“扛流量”和“性能加速”的利器,是业务架构中不可或缺的组成部分。Redis 服务一旦出现问题,就可能会导致业务系统直接崩溃。想要打造稳定可靠的 Redis 服务,掌握 Redis 内核原理至关重要。
Understanding Redis Background Memory Usage
A closer look at how the Linux kernel influences Redis memory management.
Tair 对 Redis 引擎架构之争的看法
云原生内存数据库 Tair 是阿里云自研数据库,兼容 Redis 的同时提供更多数据结构和企业级能力,包括全球多活、任意时间点恢复和透明加密等。
Redis客户端Lettuce深度分析介绍(上)
本文通过分析Lettuce的特性和内部实现,及其与Jedis的对照比较,对这两种客户端以及Redis服务端进行深度探讨。