Java知识分享网 - 轻松学习从此开始!    

Java知识分享网

Java1234官方群25:java1234官方群17
Java1234官方群25:838462530
        
SpringBoot+SpringSecurity+Vue+ElementPlus权限系统实战课程 震撼发布        

最新Java全栈就业实战课程(免费)

springcloud分布式电商秒杀实战课程

IDEA永久激活

66套java实战课程无套路领取

锋哥开始收Java学员啦!

Python学习路线图

锋哥开始收Java学员啦!

redis面试题及其答案 PDF 下载


分享到:
时间:2020-07-10 14:15来源:http://www.java1234.com 作者:小锋  侵权举报
redis面试题及其答案 PDF 下载
失效链接处理
redis面试题及其答案  PDF 下载

本站整理下载:
 
相关截图:
 
主要内容:

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支持哪几种数据类型?
支持多种类型的数据结构
1. string:最基本的数据类型,二进制安全的字符串,最大512M。
2. list:按照添加顺序保持顺序的字符串列表。
3. set:无序的字符串集合,不存在重复的元素。
4. sorted set:已排序的字符串集合。
5. hash:key-value对的一种集合。
类型 最大存储数量
String 512M
list 2^32-1
set 2^32-1
sorted set 2^32-1
hash 2^32-1
Redis是单进程单线程的?
Redis是单进程单线程的,Redis利用队列技术将并发访问变为串行访问,消除了传统数据库串行控制的
开销。
Redis为什么是单线程的?
多线程处理会涉及到锁,而且多线程处理会涉及到线程切换而消耗CPU。因为CPU不是Redis的瓶颈,
Redis的瓶颈最有可能是机器内存或者网络带宽。单线程无法发挥多核CPU性能,不过可以通过在单机开
多个Redis实例来解决。
其它开源软件采用的模型
1. Nginx:多进程单线程模型
2. Memcached:单进程多线程模型
使用Redis的优势?
1. 速度快,因为数据存在内存中,类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是
O(1)
2. 支持丰富数据类型,支持string,list,set,sortedset,hash
3. 支持事务,操作都是原子性,所谓的原子性就是对数据的更改要么全部执行,要么全部不执行
4. 丰富的特性:可用于缓存,消息,按key设置过期时间,过期后将会自动删除
Redis单点吞吐量
单点TPS达到8万/秒,QPS达到10万/秒,补充下TPS和QPS的概念
1. QPS:应用系统每秒钟最大能接受的用户访问量
每秒钟处理完请求的次数,注意这里是处理完,具体是指发出请求到服务器处理完成功返回结果。可以理解在
server中有个counter,每处理一个请求加1,1秒后counter=QPS。
2. TPS:每秒钟最大能处理的请求数
每秒钟处理完的事务次数,一个应用系统1s能完成多少事务处理,一个事务在分布式处理中,可能会对应多个
请求,对于衡量单个接口服务的处理能力,用QPS比较合理。
Redis相比memcached有哪些优势?
1. memcached所有的值均是简单的字符串,Redis作为其替代者,支持更为丰富的数据类型
2. Redis的速度比memcached快很多
3. Redis可以持久化其数据4.Redis支持数据的备份,即master-slave模式的数据备份。
Redis有哪几种数据淘汰策略?
在Redis中,允许用户设置最大使用内存大小server.maxmemory,当Redis内存数据集大小上升到一定
大小的时候,就会施行数据淘汰策略。
1. volatile-lru:从已设置过期的数据集中挑选最近最少使用的淘汰
2. volatile-ttr:从已设置过期的数据集中挑选将要过期的数据淘汰
3. volatile-random:从已设置过期的数据集中任意挑选数据淘汰
4. allkeys-lru:从数据集中挑选最近最少使用的数据淘汰
5. allkeys-random:从数据集中任意挑选数据淘汰
6. noenviction:禁止淘汰数据redis
淘汰数据时还会同步到aof

 
 
------分隔线----------------------------

锋哥公众号


锋哥微信


关注公众号
【Java资料站】
回复 666
获取 
66套java
从菜鸡到大神
项目实战课程

锋哥推荐