Redis常见面试题(五)

导读:本篇文章讲解 Redis常见面试题(五),希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

目录

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并不能保证数据的强一致性

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/88054.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!