Redis相关面试题

ops/2024/10/19 22:33:37/

Redis 为什么快?
1.纯内存KV操作
Redis 的操作都是基于内存的,CPU不是 Redis性能瓶颈,,Redis的瓶颈是机器内存和网
络带宽。
在计算机的世界中,CPU的速度是远大于内存的速度的,同时内存的速度也是远大于硬
盘的速度。redis的操作都是基于内存的,绝大部分请求是纯粹的内存操作,非常迅速。
2.单线程操作
使用单线程可以省去多线程时CPU上下文会切换的时间,也不用去考虑各种锁的问题,
不存在加锁释放锁操作,没有死锁问题导致的性能消耗。对于内存系统来说,多次读写都是
在一个CPU上,没有上下文切换效率就是最高的!既然单线程容易实现,而且 CPU 不会成
为瓶颈,那就顺理成章的采用单线程的方案了
Redis 单线程指的是网络请求模块使用了一个线程,即一个线程处理所有网络请求,其
他模块该使用多线程,仍会使用了多个线程。
3.I/O 多路复用
为什么 Redis 中要使用 I/O 多路复用这种技术呢?
首先,Redis 是跑在单线程中的,所有的操作都是按照顺序线性执行的,但是由于读写
操作等待用户输入或输出都是阻塞的,所以 I/O 操作在一般情况下往往往不能直接返回,这
会导致某一文件的 I/O 阻塞导致整个进程无法对其它客户提供服务,而 I/O 多路复用就是
为了解决这个问题而出现的
4.Reactor 设计模式
Redis基于Reactor模式开发了自己的网络事件处理器,称之为文件事件处理器(FileEvent
Hanlder)。
Redis 合适的应用场景?
1、会话缓存(Ses


http://www.ppmy.cn/ops/126819.html

相关文章

cordova的使用

环境 Cordova 是一个跨平台的开发框架,它允许开发者使用 HTML、CSS 和 JavaScript 创建移动应用。Cordova 的不同版本可能会有不同的环境要求。以下是 Cordova 10 和 Cordova 12 在开发 Android 和 iOS 应用时的环境要求的对比总结。 1. Cordova 10 环境要求 And…

MongoDB聚合管道(Aggregation Pipeline)

聚合管道(Aggregation Pipeline)是MongoDB中用于对数据进行处理和分析的一种强大机制。它由一系列的阶段(Stage)组成,每个阶段对输入的数据进行一种特定的操作,然后将结果传递给下一个阶段,就像…

Python编程探索:从基础语法到循环结构实践(下)

文章目录 前言🍷四、 字符串拼接:连接多个字符串🍸4.1 使用 操作符进行字符串拼接🍸4.2 使用 join() 方法进行字符串拼接🍸4.3 使用 format() 方法进行格式化拼接🍸4.4 使用 f-string(格式化字…

字符串算法之KMP 算法(Knuth-Morris-Pratt Algorithm, 字符串匹配)详细解读

KMP算法(Knuth-Morris-Pratt Algorithm) 是一种高效的字符串匹配算法,用于在一个文本串中查找一个模式串的位置。它通过预处理模式串,减少了不必要的比较次数,从而提高了匹配效率。KMP算法的时间复杂度为 O(nm)&#x…

极客wordpress模板

这是一个展示WordPress主题的网页设计。页面顶部有一个导航栏,包含多个选项,如“关于我们”、“产品中心”、“案例展示”、“新闻动态”、“联系我们”和“技术支持”。页面中间部分展示了多个产品,每个产品都有一个图片和简短的描述。页面下…

OpenCV物体跟踪:使用CSRT算法实现实时跟踪

目录 简介 CSRT算法简介 实现步骤 1. 初始化摄像头和跟踪器 2. 读取视频帧和初始化跟踪 3. 实时跟踪和显示结果 4. 显示和退出 5、结果展示 总结 简介 在计算机视觉和视频处理领域,物体跟踪是一项核心技术,它在监控、人机交互、运动分析等方面…

基于SSM+微信小程序的实验室设备故障报修管理系统2

👉文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1、项目介绍 基于SSM微信小程序的实验室设备故障报修管理系统2实现了管理员,用户,维修员三个角色。 管理员功能有 个人中心,用户管理,维修员管理&#…

Kamailio-Sngrep 短小精悍的利器

一个sip的抓包小工具,在GitHub上竟然能够积累1K的star,看来还是有点东西,当然官方的友链也是发挥了重要作用 首先送上项目地址,有能力的宝子可以自行查看 经典的网络抓包工具有很多,比如: Wireshark&…