一、Redis有什么好处?
- 高性能:Redis是一个基于内存的数据存储系统,相比于传统的基于磁盘的数据库系统,它能够提供更高的读写性能。
- 支持丰富的数据类型:Redis支持多种数据结构,包括字符串、哈希、列表、集合、有序集合等,这使得它可以用于多种不同的应用场景。
- 持久化:Redis支持持久化机制,可以将内存中的数据定期写入磁盘,以防止数据丢失。
- 高可用性:Redis支持主从复制和Sentinel系统,可以实现高可用性和故障恢复。
- 简单易用:Redis的命令简单易懂,学习曲线较低,使用方便。
- 丰富的功能:Redis提供了丰富的功能和特性,如事务、发布/订阅、Lua脚本等,可以满足各种需求。
二、Redis为什么那么快?
- 内存存储:Redis将数据存储在内存中,这使得读写速度非常快。同时,Redis也提供持久化机制,可以将内存数据异步地写入磁盘中,保证数据的安全性和可靠性。
- 非阻塞I/O多路复用机制:Redis使用非阻塞I/O模型,避免了线程上下文切换和系统调用带来的开销,从而大幅提高了并发吞吐量。
- 单线程架构:Redis采用单线程架构,避免了多线程间的同步和锁竞争等问题,简化了代码实现和维护。
- 数据结构优化:Redis内置了多种数据结构(如哈希表、有序集合等),并对其进行了优化,使得操作复杂度低,能够在很短的时间内完成大量的数据处理。
- 预分配内存:Redis在初始化时会预先分配一定量的内存空间,避免了频繁的内存分配和释放过程,提高了性能。
三、Redis与 Memcache区别?
Memcached只能存储KV、没有持久化机制,不支持主从复制,是多线程的。
四、Redis的数据结构?
String
Hash
Set
List
Sorted List
五、Redis主从复制原理 ?
Redis主从复制是一种数据复制机制,允许一个Redis主节点将其数据复制到一个或多个Redis从节点上。这种复制机制的主要目的是实现数据备份、提高性能和高可用性。以下是Redis主从复制的工作原理:
1.、建立连接阶段:
2、数据同步阶段:
3、命令传播阶段:
4、主从切换:
-
当主节点发生故障或不可用时,管理员可以手动或自动将一个从节点提升为新的主节点。
-
新的主节点接管写入操作,从而继续提供服务。其他从节点将连接到新的主节点以获取数据复制。
需要注意的是,Redis主从复制是异