面试题:Redis 为什么读写性能高?

Redis 的速度⾮常快,单机的 Redis 就可以⽀撑每秒十几万的并发,性能是 MySQL 的⼏⼗倍。速度快的原因主要有⼏点:

  • 基于内存 的数据存储

    Redis 将数据存储在内存当中,使得数据的读写操作避开了磁盘 I/O。而内存的访问速度远超硬盘,这是 Redis 读写速度快的根本原因

  • 单线程 模型

    Redis 使用单线程模型来处理客户端的请求,这意味着在任何时刻只有一个命令在执行。这样就避免了线程切换和锁竞争带来的消耗。

  • IO 多路复用

    基于 Linux 的 select/epoll 机制 。该机制允许内核中同时存在多个监听套接字和已连接套接字,内核会一直监听这些套接字上的连接请求或者数据请求,一旦有请求到达,就会交给 Redis 处理,就实现了所谓的 Redis 单个线程处理多个 IO 读写的请求

  • 高效的数据结构

    Redis 提供了多种高效的数据结构,如字符串(String)、列表(List)、集合(Set)、有序集合(Sorted Set)等,这些数据结构经过了高度优化,能够支持快速的数据操作。

  • 高效的持久化机制

    Redis 提供了多种持久化机制,如 RDB、AOF 和混合持久化机制,这些机制运行都非常高效,可以在不影响性能的情况下保证数据的安全。

相关推荐
jay丿3 小时前
django数据查询
数据库·django·sqlite
web130933203983 小时前
Ubuntu 系统下安装 Nginx
数据库·nginx·ubuntu
猫头鹰~3 小时前
Ubuntu20.04安装Redis
java·数据库·redis
吃瓜市民4 小时前
146. LRU 缓存
算法·缓存·lru
engchina4 小时前
使用Docker搭建Oracle Database 23ai Free并扩展MAX_STRING_SIZE的完整指南
数据库·docker·oracle
Suckerbin4 小时前
SQL-labs less9-12 闯关记录
数据库·学习·安全·网络安全·oracle
serendipity_hky4 小时前
【easy视频 | day03】客户端获取视频分类 + 上传投稿
java·spring boot·缓存·音视频·idea
04Koi.4 小时前
Redis--单线程模型
数据库·redis·缓存
不会飞的小龙人5 小时前
Docker安装Postgres_16数据库
数据库·docker·postgresql·容器·portainer
zerolbsony6 小时前
tidb vs starrocks 资源估算pk
数据库·tidb·数据库开发