首页 > 数据库 >Java面试题 P25:Redis篇:redis是单线程的,但是为什么还那么快?

Java面试题 P25:Redis篇:redis是单线程的,但是为什么还那么快?

时间:2023-07-31 22:56:33浏览次数:45  
标签:面试题 Java 单线程 redis Redis P25

一、Redis是单线程的,但是为什么还那么快

1、Redis是纯内存操作,执行速度非常快

2、采用单线程,避免不必要的上下文切换可竞争条件,多线程还要考虑线程安全问题,加入并发锁,影响性能

3、使用I/O多路复用模型,非阻塞IO

二、你能解释一下I/O多路复用模型?

 

标签:面试题,Java,单线程,redis,Redis,P25
From: https://www.cnblogs.com/wuzexin/p/17595207.html

相关文章

  • Java面试题 P23:Redis篇:redis分布式锁,是如何实现的?
       单台服务器:加synchronlzed解决方案。      (1)采用Watchdag给锁续期(2)抢不到锁的线程会尝试等待(3)所有的redis命令采用lua脚本,保证执行的原子性     ......
  • JavaScript
    1、什么是JavaScriptJavaScript是一门世界上最流行的脚本语言一个合格的后端人员,必须精通JavaScript历史:https://blog.csdn.net/kese7952/article/details/793578682、快速入门2.1、引入JavaScript1、内部标签<script>//......</script>2、外部标签abs.js//......
  • Java的内存泄漏
    Java的内存泄漏java的一个重要优点就是通过垃圾收集器(GarbageCollection,GC)自动管理内存的回收,程序员不需要通过调用函数来释放内存。因此,很多程序员认为Java不存在内存泄漏问题,或者认为即使有内存泄漏也不是程序的责任,而是GC或JVM的问题。其实,这种想法是不正确的,因为Java也......
  • Java的IO性能调整
    摘要:本文大多技术围绕调整磁盘文件I/O,但是有些内容也同样适合网络I/O和窗口输出。第一部分技术讨论底层的I/O问题,然后讨论诸如压缩,格式化和串行化等高级I/O问题。然而这个讨论没有包含应用设计问题,例如搜索算法和数据结构,也没有讨论系统级的问题,例如文件高速缓冲。Java语言采......
  • 注意!JAVA中的值传递
    前言:今天在解决一个问题时,程序总是不能输出正确值,分析逻辑思路没问题后,发现原来是由于函数传递导致了这个情况。LeetCode113问题:给你二叉树的根节点root和一个整数目标和targetSum,找出所有从根节点到叶子节点路径总和等于给定目标和的路径。示例 输入:root=[5,4,8,11......
  • Java面试题 P22:Redis篇:Redis做为缓存,Redis的数据淘汰策略是什么?
          ......
  • Java面试题 P20:Redis篇:Redis做为缓存,数据的持久化是怎么做的?
    Redis做为缓存,数据的持久化是怎么做的?在Redis中提供了两种数据持久化的方式:1、RDB  2、AOF       ......
  • Java面试题 P19:Redis篇:Redis做为缓存,mysql的数据如何与redis进行同步呢(双写一致)
    双写一致性:当修改了数据库的数据也要同时更新缓存的数据,缓存和数据库的数据要保持一致。     共享锁:读锁代码 排他锁,写数据。读锁和写锁的值要一致。   MQ异步消息通知:    ......
  • JavaScript基础01
    javaScript作用1.嵌入动态文本于HTML页面。2.对浏览器事件做出响应。3.读写HTML元素。4.在数据被提交到服务器之前验证数据。5.检测访客的浏览器信息。控制cookies,包括创建和修改等。6.基于Node.js技术进行服务器端编程。js主要的内容ECMAScript语法变量......
  • Java面试题 P18:Redis篇:Redis使用场景-缓存-缓存雪崩
          缓存雪崩:是指在同一时段大量的缓存key同时失效或者Redis服务宕机,导致大量的请求到达数据库,带来巨大压力。                            ......