首页 > 数据库 >redis面试题

redis面试题

时间:2022-09-30 01:33:31浏览次数:44  
标签:面试题 单线程 redis Redis 集群 key 节点

一、线程

1.1、redis是单线程还是多线程

Redis 6.0版本以前的单线程是指其网络I/O和键值对读写是由一个线程完成的
Redis 6.0引入的多线程指的是网络请求过程采用了多线程,而键值对读写命令仍然是单线程处理的,命令到服务端去执行还是排队的顺序执行的,所以Redis仍然是并发安全的,因为命令还是一个个去执行
也就是只有网络请求模块和数据操作模块是单线程的,而其他的持久化、集群数据同步等,其实是由额外的线程执行的

1.2、redis是单线程为什么还能这么快

1、命令执行基于内存操作,一条命令在内存里操作的时间是几十纳秒
2、命令执行是单线程操作,没有线程切换开销
3、基于IQ多路复用机制提升Redis的I/O利用率
4、高效的数据存储结构:全局hash表以及多种高效数据结构,比如:跳表,压缩列表,链表等等

1.3、redis是单线程的,如何做到支持高并发?

IO多路服用,是网络请求过程采用了多线程

二、key相关

2.1、redis是怎么删除过期的key的?

2.2、Redis key 的过期时间和永久有效分别怎么设置?

2.3、一个Redis实例最多能存放多少的keys?List、Set、Sorted Set 他们最多能存放多少元素?

2.4、redis大key如何解决,如何优雅的删除?

2.5、redis Key过期了为什么内存没有释放?

2.6、Redis Key没有设置过期时间为什么被Redis删除了

2.7、Redis淘汰key的算法?

2.8、删除key的命令会阻塞redis吗?

三、缓存

1、遇到过缓存击穿吗?描述一下

2、遇到过缓存穿透吗?描述一下

3、如何避免缓存雪崩?

4、缓存如何回收的?

四、Redis集群三种方式

4.1、主从模式

4.2、哨兵模式

在主从集群之外添加3个哨兵节点组成哨兵集群,对每个Redis节点进行监听,Client通过哨兵节点访问Redis节点,如果有主节点宕机了,哨兵节点会从从节点里面选一个新的节点作为主节点,也因此会出现瞬断的情况

4.3、高可用集群模式

redis集群是一个由多个主从节点群组成的分布式服务器群,它具有复制、高可用和分片特性。Redis集群不需要sentinel哨兵·也能完成节点移除和故障转移的功能。需要将每个节点设置成集群模式,这种集群模式没有中心节点,可水平扩展,据官方文档称可以线性扩展到上万个节点(官方推荐不超过1000个节点)。redis集群的性能和高可用性均优于之前版本的哨兵模式,且集群配置非常简单

 

标签:面试题,单线程,redis,Redis,集群,key,节点
From: https://www.cnblogs.com/wuchangblog/p/16743588.html

相关文章

  • redis
                                                        ......
  • Redis(六)应用问题解决
    第一章缓存穿透1.1问题描述key对应的数据在数据源并不存在,每次针对此key的请求从缓存获取不到,请求都会压到数据源,从而可能压垮数据源。比如用一个不存在的用户id获取用......
  • Redis持久化存储的方式
      Redis虽然是一个内存级别的缓存程序,也就是redis是使用内存进行数据的缓存的,但是其可以将内存的数据按照一定的策略保存到硬盘中,这样的话就可以实现持久保存的目的;目前的......
  • Redis(五)主从复制、集群
    第一章Redis主从复制1.1主从复制是什么主机数据更新后根据配置和策略,自动同步到备机的master/slaver机制,Master以写为主,Slave以读为主1.2主从复制能干嘛读写分离......
  • Redis:HGETALL的排序问题
    HGETALL介绍Returnsallfieldsandvaluesofthehashstoredatkey.Inthereturnedvalue,everyfieldnameisfollowedbyitsvalue,sothelengthofthere......
  • VMware虚拟机中Linux系统下面的redis安装(详解,含采坑经验!!!)
    部分参考了这篇博客,里面讲的很详细:https://www.cnblogs.com/flower-dance/p/14731073.html而我在安装的过程中还遇到了很多问题,在文末。首先说一下我的安装步骤如下:1、......
  • 【Redis】RDB AOF
    AOF和RDB是两种redis持久化的机制。RDB:RDB是将支持当前数据的快照存成一个数据文件的持久化机制。1.在生成快照时,将当前进程fork出一个子进程.2.然后在子进程中循环所有......
  • ypeScript核心基础面试题与答案
    1、为什么越来越多的企业选择使用TypeScript?2、TypeScript中的原始类型有哪些?3、说说数组在TypeScript中是如何工作的?4、什么是any类型,何时使用?5、什么是void,什么......
  • 基础篇Redis
    1.初识Redis1.1.关系型与非关系型的差异存储方式关系型数据库基于磁盘进行存储,会有大量的磁盘IO,对性能有一定影响非关系型数据库,他们的操作更多的是依赖于内存来操......
  • 面试题 01.09. 字符串轮转【暴力模拟】【尾插】
    题目字符串轮转。给定两个字符串s1和s2,请编写代码检查s2是否为s1旋转而成(比如,waterbottle是erbottlewat旋转后的字符串)。难度:简单提示:字符串长度在[0,100000]范围内......