排序
面试题:Redis 中的 Ziplist 和 Quicklist 数据结构的特点是什么?
Redis 中的 Ziplist 和 Quicklist 是两种用于优化内存使用和提高性能的数据结构,分别用于实现列表(List)和哈希表(Hash)等数据类型。以下是它们的特点和设计原理。 1.&...
面试题:Redis 复制延迟的常见原因有哪些?
Redis 复制延迟(Replication Lag)是指从节点(Slave)的数据同步落后于主节点(Master)的现象。复制延迟可能会导致从节点读取到过期的数据,影响数据的一致性和系统的可用性。以下是 Redis ...
面试题:Redis 事务与关系型数据库事务的主要区别是什么?
Redis 事务和关系型数据库事务(如 MySQL、PostgreSQL 等)在设计和实现上有显著的区别。以下是它们的主要区别: 1. 事务的原子性 Redis 事务: Redis 的事务是通过 MULTI、EXEC、DISCARD...
面试题:Redis Cluster 模式与 Sentinel 模式的区别是什么?
Redis 提供了两种高可用和分布式解决方案:Redis Cluster 和 Sentinel。它们的设计目标和使用场景有所不同,以下是它们的核心区别和适用场景。 1. 设计目标 Redis Cluster: 提...
面试题:Redis 的 ListPack 数据结构是什么?
ListPack 是 Redis 5.0 引入的一种紧凑的、高效的数据结构,用于替代 ziplist 在某些场景下的使用。它的设计目标是进一步优化内存使用和性能,特别是在存储小规模列表、哈希表等...
面试题:Redis 中的内存碎片化是什么?如何进行优化?
Redis 中的内存碎片化 内存碎片化是指内存中存在大量不连续的小块空闲内存,这些空闲内存虽然总量足够,但由于不连续,无法被有效利用。Redis 作为一个基于内存的数据库,内存碎片化会直接影响...
面试题:Redis 的虚拟内存(VM)机制是什么?
Redis 的虚拟内存(VM)机制是 Redis 早期版本中用于在内存不足时,将部分数据交换到磁盘上以节省内存的一种机制。然而,需要注意的是,Redis 的虚拟内存机制在 Redis 2.4 版本之后已经被废弃,...
面试题:在 Redis 集群中,如何根据键定位到对应的节点?
在 Redis 集群中,数据被分片存储在多个节点上,每个节点负责一部分数据。为了根据键定位到对应的节点,Redis 集群使用了一种基于哈希槽(Hash Slot)的分布式算法。以下是具体的实现原理和步骤...
面试题:Redis 源码中有哪些巧妙的设计,举几个典型的例子?
Redis 是一个高性能的键值存储系统,其源码中有许多巧妙的设计,这些设计使得 Redis 在性能、内存效率和可扩展性方面表现出色。以下是几个典型的设计示例: 1. 简单动态字符串(SDS, Simpl...
面试题:说说 Redisson 分布式锁的原理?
Redisson 是一个用于 Redis 的 Java 客户端,它简化了复杂的数据结构操作,并提供了许多分布式服务,包括分布式锁。Redisson 实现的分布式锁基于 Redis,利用其单线程特性确保锁的唯一性,从而...