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

Redis缓存的连环炮面试题

说实话,这一套东西基本构成了缓存这块你必须知道的基础性的知识,如果你不知道,那么说明你有点失职,确实平时没好好积累。因为这些问题确实不难,如果我往深了问,可以问的很细,结合项目扣的很细,比如你们公司线上系统高峰QPS 3000?那请求主要访问哪些接口?redis抗了多少请求?mysql抗了多少请求?你到底是怎么实现高并发的?咱们聊聊redis的内核吧,看看你对底层了解的多么?如果要缓存几百GB的数据会有什么坑该这么弄?如果缓存出现热点现象该这么处理?某个value特别大把网卡给打死了怎么办?等等等等,可以深挖的东西其实有很多。。。。。但是如果你掌握好了这套东西的回答,那么你在面试的时候,如果面试官没有全都问到,你可以自己主动合盘脱出。比如你可以说,我们线上的缓存,做了啥啥机制,防止雪崩、防止穿透、保证双写时的数据一致性、保证并发竞争时的数据一致性,我们线上咋部署的,啥架构,怎么玩儿的。这套东西你可以自己说出来,展示一下你对缓存这块的掌握。

1 为什么要用Redis缓存?

项目中缓存是如何使用的?为什么要用缓存?缓存使用不当会造成什么后果?这个问题,互联网公司必问,要是一个人连缓存都不太清楚,那确实比较尴尬。只要问到缓存,上来第一个问题,肯定是先问问你项目哪里用了缓存?为啥要用?不用行不行?如果用了以后可能会有什么不良的后果?这就是看看你对缓存这个东西背后有没有思考,如果你就是傻乎乎的瞎用,没法给面试官一个合理的解答,那面试官对你印象肯定不太好,觉得你平时思考太少,就知道干活儿。公司可以用redis做数据清洗,历史数据补全,持久化历史数据并进行汇总。

三种常见的缓存

image.png

image.png
image.png

回答:

Redis高并发和高可用

Redis的线程模型为啥单线程还能有很高的效率?

Redis的线程模型为啥单线程还能有很高的效率?

2.Redis数据类型和适用场景

回答:

Redis数据类型和适用场景

3.你是怎么解决rendis数据量较大的问题,也许会沾满内存导致宕机?

回答:

Redis过期策略和内存淘汰机制(手写LRU算法)

4.那么当redis宕机你有什么解决办法?

回答:

Redis持久化机制具体底层如何实现的?

5.你们是如何搭建集群的?

回答:

Redis集群模式工作原理和一致性Hash算法

6.redis和数据库如何保证数据的一致性问题?

回答:

如何保证Redis缓存与数据库的双写一致性?

7.redis如何处理并发带来的事物问题?

回答:

Redis并发竞争问题和事务CAS方案

8.你们的生产部署redis是什么样子的?

回答:

Redis在生产环境中是怎么部署的?

相关文章:

  • 9月17日 杭州站 | Serverless Developer Meetup 开启报名
  • django+django-haystack+Whoosh(后期切换引擎为Elasticsearch+ik)+Jieba+mysql
  • 【020】基于Springboot+Vue的学生成绩教务管理系统(含教师、学生、管理员身份)含源码、数据库、运行教程
  • 基于KubeEdge的边缘节点分组管理设计与实现
  • Docker(精简版)
  • 猿创征文|Apache ShenYu网关插件介绍
  • 全志V853开发板开发进阶——GPADC
  • 表单(非常非常重要)
  • 【JavaScript】一文了解JS的闭包
  • 2022前端vue面试题
  • docker相关试题
  • python 之名称空间与作用域
  • python之面向过程编程思想与匿名函数及其应用
  • docker 之Dockerfile
  • python之logging 模块(简洁版)
  • 9月CHINA-PUB-OPENDAY技术沙龙——IPHONE
  • [译] 怎样写一个基础的编译器
  • 002-读书笔记-JavaScript高级程序设计 在HTML中使用JavaScript
  • in typeof instanceof ===这些运算符有什么作用
  • java8-模拟hadoop
  • java第三方包学习之lombok
  • JSONP原理
  • js如何打印object对象
  • leetcode378. Kth Smallest Element in a Sorted Matrix
  • Less 日常用法
  • php的插入排序,通过双层for循环
  • 不发不行!Netty集成文字图片聊天室外加TCP/IP软硬件通信
  • 不用申请服务号就可以开发微信支付/支付宝/QQ钱包支付!附:直接可用的代码+demo...
  • 搭建gitbook 和 访问权限认证
  • 个人博客开发系列:评论功能之GitHub账号OAuth授权
  • 关于 Cirru Editor 存储格式
  • 官方解决所有 npm 全局安装权限问题
  • 区块链将重新定义世界
  • 容器化应用: 在阿里云搭建多节点 Openshift 集群
  • 携程小程序初体验
  • 新手搭建网站的主要流程
  • 原创:新手布局福音!微信小程序使用flex的一些基础样式属性(一)
  • ​MySQL主从复制一致性检测
  • # 计算机视觉入门
  • #includecmath
  • (C语言)字符分类函数
  • (Matlab)使用竞争神经网络实现数据聚类
  • (Python) SOAP Web Service (HTTP POST)
  • (pytorch进阶之路)CLIP模型 实现图像多模态检索任务
  • (ros//EnvironmentVariables)ros环境变量
  • (vue)el-checkbox 实现展示区分 label 和 value(展示值与选中获取值需不同)
  • (ZT)一个美国文科博士的YardLife
  • (三十五)大数据实战——Superset可视化平台搭建
  • (幽默漫画)有个程序员老公,是怎样的体验?
  • (转载)PyTorch代码规范最佳实践和样式指南
  • (最完美)小米手机6X的Usb调试模式在哪里打开的流程
  • * 论文笔记 【Wide Deep Learning for Recommender Systems】
  • .net core 实现redis分片_基于 Redis 的分布式任务调度框架 earth-frost
  • .NET 设计一套高性能的弱事件机制
  • .net和jar包windows服务部署