八股训练营第 20 天 | MySQL和Redis的区别是什么?Redis有什么优缺点、为什么用Redis查询会比较快?

MySQL和Redis的区别是什么?

  • Redis 是基于键值对的,支持多种数据结构;MySQL 是一种关系型数据库,通过表来组织数据。
  • Redis 将数据存在内存中,通过持久化机制写入磁盘;MySQL 将数据保存在磁盘上。
  • Redis 不使用 SQL,有自己的命令集;MySQL 通过 SQL 来查询和操作数据。
  • Redis 以高性能、低延迟为目标,适用于读多写少的场景;MySQL 适用于需要复杂查询、事务操作的场景。

总而言之,Redis 更适用于高并发的场景。在实际中两者通常结合使用。

Redis有什么优缺点?为什么用Redis查询会比较快?

优点:

  • Redis 是基于内存的一种非关系型数据库,读写速度非常快。常用于缓存、消息队列、分布式锁、键值对数据库等。
  • Redis 支持多种数据结构,如字符串、哈希表、列表、集合、有序集合等。
  • Redis 还支持分布式特性,可将数据分布在多个节点上,以提高可用性和扩展性。

缺点:

  • 由于是基于内存的,而物理内存的容量有限,所以存储不了海量的数据。存储成本会比硬盘高。

为什么查询快:

  • 基于内存:内存的读写速度远远大于硬盘,不会有不必要的 I/O。
  • 单线程:避免上下文切换的开销和 CPU 的消耗。
  • I/O多路复用:可以同时监听多个 Socket,根据 Socket 上的不同事件选择不同的事件处理器
相关推荐
難釋懷1 分钟前
Redis分片集群手动故障转移
数据库·redis·缓存
无名-CODING7 分钟前
从零开始!Vue3+SpringBoot前后端分离项目Docker部署实战(上):环境搭建与数据库容器化
数据库·spring boot·docker
Bdygsl19 分钟前
MySQL(2)—— CRUD
数据库·mysql
chushiyunen24 分钟前
python edge-tts实现tts文本转语音、音频
数据库·python·音视频
原来是猿29 分钟前
MySQL【事务中 - 事务的隔离级别】
数据库·mysql
2501_9454235441 分钟前
游戏与图形界面(GUI)
jvm·数据库·python
大傻^42 分钟前
Spring AI Alibaba Agent开发:基于ChatClient的智能体构建模式
java·数据库·人工智能·后端·spring·springaialibaba
爬山算法44 分钟前
MongoDB(50)副本集中的角色有哪些?
数据库·mongodb
大傻^1 小时前
Spring AI Alibaba 向量数据库集成:Milvus与Elasticsearch配置详解
数据库·人工智能·spring·elasticsearch·milvus·springai·springaialibaba
redsea_HR1 小时前
红海eHR解决方案背后的底层能力
大数据·数据库·人工智能