[关闭]
@wxf 2019-08-24T21:37:44.000000Z 字数 7248 阅读 1042

Redis相关问题整理

面试系列


Redis 特点
1. 高速读写,所有数据存储在内存中
2. 提供丰富多样的数据类型:string、hash、list、set、sorted set、bitmap、hyperloglog
3. 提供了AOF和ROB两种数据持久化方式,保证Redis重启后数据不丢失
4. Redis的所有操作都是原子性的,还支持对几个操作合并后的原子性操作,支持事务

Redis常用数据类型及其应用场景

string数据类型的应用场景

hash数据类型的应用场景

list数据类型的应用场景

set数据类型的应用场景

sorted set数据类型的应用场景

【相关推荐】
Redis内存使用优化与存储
Redis复制与可扩展集群搭建
Redis 设计与实现
SpringSource发布Spring Data Redis 1.0.0
Redis内存存储结构分析
redis数据类型详解 以及 redis适用场景场合
Redis的五种存储类型和其应用场景
Redis 数据类型及应用场景呈现
Redis的那些最常见面试问题

Redis持久化

RDB方式

RDB方式是通过快照方式完成的。它是Redis的默认持久化方式。

AOF方式

它是将发送到Redis服务器端的每一条命令都记录下来,并且保存到硬盘中的AOF文件。

Redis主从复制(读写分离)

Redis主从复制环境搭建

主从复制的好处:
1. 避免redis单点故障
2. 构建读写分离架构,满足读多写少的应用场景
注意:因为是在一台机器上进行测试,这里的Redis主从复制架构实际上是安装一个Redis启动三个实例。
Redis有两种架构模式,分别是:主从架构主从从架构

Redis主从复制原理

  1. 当从Redis和主Redis建立Master-Slave关系后,从Redis会向主Redis发送同步命令(SYNC);
  2. 主Redis接收到同步命令后会开始在后台保存快照(RDB持久化过程),并将快照期间接收到的写命令缓存起来;
  3. 当快照完成后,主Redis会将快照文件和所有缓存的写命令发送给从Redis;
  4. 从Redis接收到后,会载入快照文件并且执行收到的主Redis缓存的命令;
  5. 之后,主库每当接收到写命令时都会将命令发送从Redis,从而保证数据的一致性。

当Redis主从结构中出现宕机时,该如何处理?

如果出现宕机情况需要分情况来看:

哨兵(sentinel)

顾名思义,哨兵的作用就是对Redis的运行情况进行监控,它是一个独立的进程。其主要功能有两个:
1. 监控主Redis和从Redis是否运行正常;
2. 主Redis出现故障后自动将从Redis转化为Master;

Redis集群

在Redis主从复制架构中,每个数据库都要保存整个系统中的所有数据(主库有多少数据从库就有多少数据),容易形成木桶效应。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注