排序
面试题:如何使用 Redis 快速实现排行榜?
在 Redis 中实现排行榜(Leaderboard)是一个常见的应用场景,得益于 Redis 的高效性和丰富的数据结构支持,特别是有序集合(Sorted Set),我们可以非常方便地创建和管理排行榜。下面将介绍如...
面试题:说说 Redisson 分布式锁的原理?
Redisson 是一个基于 Redis 的 Java 客户端,它封装了分布式锁的实现,解决了传统 SETNX 等方法的局限性。其核心原理围绕 原子性、安全性 和 自动续期 设计,以...
面试题:Redis 在生成 RDB 文件时如何处理请求?
Redis 在生成 RDB 文件时,通过 fork 子进程 和 写时复制(Copy-On-Write, COW) 机制,能够在不阻塞主线程的情况下处理客户端请求,同时保证生成的 RDB 文件数据一致...
面试题:Redis List 类型的常见操作命令有哪些?
Redis 的 List 类型是基于双向链表实现的有序字符串集合,支持从两端进行快速插入和删除操作。以下是 Redis List 类型的常见操作命令及其用途: 1. 插入操作 命令描述示例LPUSH key v...
面试题:Redis 中跳表的实现原理是什么?
在 Redis 中,跳表(Skip List)是一种可以用来实现有序集合(Sorted Set)的数据结构。 虽然 Redis 的有序集合主要使用的是基于跳表和哈希表的混合结构,但跳表是其实现高效范围查询的关键部分...
面试题:Redis String 类型的底层实现是什么?(SDS)
Redis 中的 String 类型是其最基本的数据结构之一,而它的底层实现依赖于一种名为 简单动态字符串(Simple Dynamic String, SDS) 的数据结构。 SDS 是 Redis 自行设计并广泛应用于其内部的一...
面试题:Redis 源码中有哪些巧妙的设计,举几个典型的例子?
Redis 的源码设计中融入了许多巧妙的思路,旨在提升性能、降低复杂性并优化资源使用。以下是几个典型的例子,结合源码细节进行说明: 1. 简单动态字符串(SDS, Simple Dynamic String) 问题背...
面试题:Redis 的持久化机制有哪些?
Redis 的持久化机制主要有以下三种方式: 1. RDB(Redis Database) 原理 RDB 是通过 快照(Snapshot) 的方式,将 Redis 内存中的数据在指定时间间隔内持久化到磁盘上,生成一个&nbs...
面试题:Redis 主从复制的常见拓扑结构有哪些?
Redis 主从复制的常见拓扑结构主要有以下三种,每种结构适用于不同的业务场景,具有独特的优缺点: 1. 一主一从结构 描述:最简单的主从结构,一个主节点(Master)对应一个从节点(Slave)。主...
面试题:Redis 中常见的数据类型有哪些?
Redis 支持多种数据类型,每种数据类型都针对特定的使用场景进行了优化。以下是 Redis 中常见的数据类型及其简要介绍: String(字符串) 最基础的数据类型,可用于存储文本或二进制数据。 支持...