最全Redis49个面试题目及答案:线程设计+哨兵+复制+事务+集群+持久化等

Redis是单进程单线程的内存数据库,提供丰富的数据类型如string、list、set等。其功能包括哨兵、复制、事务、LUA脚本、持久化等,确保高可用性和数据安全性。Redis支持持久化策略如RDB和AOF,以及数据淘汰策略。在面试中,还会涉及Redis集群、主从复制、性能优化等方面的问题。Redis适用于session共享、缓存、队列、排行榜等多种场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Redis支持哪几种数据类型?

支持多种类型的数据结构

1.string:最基本的数据类型,二进制安全的字符串,最大512M。

2.list:按照添加顺序保持顺序的字符串列表。

3.set:无序的字符串集合,不存在重复的元素。

4.sorted set:已排序的字符串集合。

5.hash:key-value对的一种集合。

Redis主要有哪些功能?

1.哨兵(Sentinel)和复制(Replication)

Redis服务器毫无征兆的罢工是个麻烦事,如何保证备份的机器是原始服务器的完整备份呢?这时候就需要哨兵和复制。

Sentinel可以管理多个Redis服务器,它提供了监控,提醒以及自动的故障转移的功能,Replication则是负责让一个Redis服务器可以配备多个备份的服务器。

Redis也是利用这两个功能来保证Redis的高可用的

2.事务

很多情况下我们需要一次执行不止一个命令,而且需要其同时成功或者失败。redis对事务的支持也是源自于这部分需求,即支持一次性按顺序执行多个命令的能力,并保证其原子性。

3.LUA脚本

在事务的基础上,如果我们需要在服务端一次性的执行更复杂的操作(包含一些逻辑判断),则lua就可以排上用场了

4.持久化

redis的持久化指的是redis会把内存的中的数据写入到硬盘中,在redis重新启动的时候加载这些数据,从而最大限度的降低缓存丢失带来的影响。

5.集群(Cluster)

单台服务器资源的总是有上限的,CPU资源和IO资源我们可以通过主从复制,进行读写分离,把一部分CPU和IO的压力转移到从服务器上,这也有点类似mysql数据库的主从同步。

在Redis官方的分布式方案出来之前,有twemproxy和codis两种方案,这两个方案总体上来说都是依赖proxy来进行分布式的,下面的内容有具体集群方案详解。

Redis是单进程单线程的?

Redis是单进程单线程的,Red

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值