排序
面试题:Redis 的 ListPack 数据结构是什么?
ListPack 是 Redis 5.0 引入的一种紧凑的、高效的数据结构,用于替代 ziplist 在某些场景下的使用。它的设计目标是进一步优化内存使用和性能,特别是在存储小规模列表、哈希表等...
面试题:Redis 中有哪些内存淘汰策略?
Redis 是一种基于内存的键值存储系统,当内存不足时,需要通过 内存淘汰策略 来删除部分数据,以释放内存空间。Redis 提供了多种内存淘汰策略,可以根据业务需求进行配置。 1. Redis 内存淘汰策...
面试题:Redis 数据过期后的删除策略是什么?
Redis 中的数据过期后,并不会立即被删除,而是通过 惰性删除 和 定期删除 两种策略来清理过期数据。这两种策略共同作用,确保过期数据能够被及时清理,同时避免对 Redis ...
面试题:Redisson 看门狗(watch dog)机制了解吗?
在分布式系统中,Redisson 是一个常用的 Redis 客户端,它提供了分布式锁的实现。Redisson 的分布式锁中有一个“看门狗”(Watch Dog)机制,你能解释一下这个机制的作用以及它是如何工作的吗?...
面试题:为什么 Redis Zset 用跳表实现而不是红黑树?B+树?
Redis 选择跳表(Skip List)作为 Zset 的底层实现,而不是红黑树或 B+ 树,主要基于以下几个原因: 1. 性能方面的考量 查询性能: 跳表的查询、插入、删除操作的时间复杂度都是 O(log N)...
面试题:如何使用 Redis 快速实现排行榜?
在面试中,如果被问到如何使用 Redis 快速实现排行榜,可以从以下几个方面进行回答: 1. 使用 Redis 的 Sorted Set 数据结构 Redis 的 Sorted Set(有序集合)是实现排行榜的理想选择。它...
面试题:在 Redis 集群中,如何根据键定位到对应的节点?
在 Redis 集群中,数据被分片存储在多个节点上,每个节点负责一部分数据。为了根据键定位到对应的节点,Redis 集群使用了一种基于哈希槽(Hash Slot)的分布式算法。以下是具体的实现原理和步骤...
面试题:Redis 中的缓存击穿、缓存穿透和缓存雪崩是什么?
在面试中,如果被问到 Redis 中的缓存击穿、缓存穿透和缓存雪崩,可以从以下几个方面进行回答: 1. 缓存击穿(Cache Breakdown) 定义 缓存击穿是指 某个热点数据在缓存中过期 的同时...
面试题:Redis 的虚拟内存(VM)机制是什么?
Redis 的虚拟内存(VM)机制是 Redis 早期版本中用于在内存不足时,将部分数据交换到磁盘上以节省内存的一种机制。然而,需要注意的是,Redis 的虚拟内存机制在 Redis 2.4 版本之后已经被废弃,...
面试题:Redis List 类型的常见操作命令有哪些?
Redis 的 List 类型是一个双向链表数据结构,支持在头部和尾部进行插入、删除和查询操作。以下是一些常见的 List 操作命令: 1. 插入元素 LPUSH key element [element...