当前位置: 首页 > news >正文

Redis常见面试题(五)

目录

1、Redis中的管道有什么用?

2、Redis有哪些高可用方案?

3、Redis集群的目的是什么?

4、Redis集群如何选择数据库?

5、Redis集群怎么保证高可用?

6、Redis集群最少需要几个主节点?

7、Redis集群主从复制的原理是?

8、Redis集群是怎么做数据分片的?

9、Redis集群会不会出现写丢失?

10、Redis可以保证数据强一致性吗?


1、Redis中的管道有什么用?

Redis中的管道技术是指: Redis Pipelining,用于提高Redis服务的性能。

管道技术可以在服务端还未响应时,客户端仍然可以继续向服务端发送请求,即客户端可以发送多个命令到服务端,而不用等待服务器的响应,客户端会在最后再一次性读取所有服务端的响应。

2、Redis有哪些高可用方案?

1. Redis主从复制;

2. Redis Sentinel (哨兵) ;

3. Redis Cluster (集群) ;

4. Codis (第三方)

5. twemproxy (第三方)

3、Redis集群的目的是什么?

Redis集群可以将数据分割到不同的服务器节点上,当Redis集群中的部分节点宕机或不可用时,Redis 其他节点仍然能够继续处理命令,不至于整个Redis集群不可用,用来保证可用性。

4、Redis集群如何选择数据库?

Redis集群目前无法做数据库选择,默认在0号数据库。

5、Redis集群怎么保证高可用?

Redis集群使用了主从复制模型,即每个节点都可以多个复制品。

比如集群有这三个主节点:

A,B,C

如果其中一个挂了,集群就不可用了,所以现在为每个节点分配一个从节点:

A1, B1,C1

这样,如果A挂了,A1就会顶上来,集群继续正常工作。

6、Redis集群最少需要几个主节点?

Redis集群正常工作,至少需要3个主节点。

7、Redis集群主从复制的原理是?

Redis集群主从复制采用的是异步复制机制。

比如,现在有以下节点:

A-> A1, A2, A3

B-> B1, B2, B3

C-> C1,C2,C3

具体的复制流程如下:

1)客户端向主节点C写数据

2)主节点C回复该命令状态

3)主节点C再向其他从节点(C1,C2,C3) 复制数据

8、Redis集群是怎么做数据分片的?

Redis集群没有使用一致性hash算法,而是引入了哈希槽的概念。

Redis集群有16384个哈希槽,每个key 通过CRC16校验后对16384取模来决定放置哪个槽,

集群的每个节点负责一部分hash槽。

举个例子,比如当前集群有3个节点,那么:

●节点A包含0到5500号哈希槽

●节点B包含5501到11000号哈希槽

●节点C包含11001到16384号哈希槽

9、Redis集群会不会出现写丢失?

Redis集群不是强一致性,会出现丢失写操作数据的情况。

比如有以下2个场景:

1) 集群是用了异步复制,主节点成功即立即返回再同步从数据,由于网络问题从节点可能没有同步到数据;

2)集群出现了网络分区,可能导致写数据丢失;

10、Redis可以保证数据强一致性吗?

Redis集群主从复制采用的是异步复制机制,

Redis并不能保证数据的强一致性

相关文章:

  • 英文网站建设easy/网上哪里接app推广单
  • 一佰互联自助建站/哪有学电脑培训班
  • 一级a做爰网站/百度退推广费是真的吗
  • 仿糗事百科wordpress/教育机构在线咨询
  • 高级seo是什么职位/seo外链软件
  • 昌吉做网站需要多少钱/seo网站内容优化
  • MySQL 用 explain 关注哪些字段
  • certbot生成证书,配置nginx,利用脚本自动续期
  • 非零基础自学Golang 第17章 HTTP编程(上) 17.2 HTTP客户端 17.2.2 Client 和 Request
  • 股票价、量走势图绘制
  • 线性杂双功能PEG试剂Biotin-PEG-Silane,Silane-PEG-Biotin,生物素-PEG-硅烷
  • P-IoT自组网模式研究
  • 一文搞懂Linux内核initrd和Debian实例
  • webgl—将多组点传给webgl系统中
  • Meta CTO专访:2023年AR/VR、元宇宙的下一步怎么走
  • EBS调用webservice
  • 大白话式粗浅地聊聊NLP语言模型
  • 【Java】Java开发工程师面试题目