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

Redis 面经

1、说说什么是 Redis?

Redis 是 Remote Dictionary Service 三个单词中加粗字母的组合,是一种基于键值对的 NoSQL 数据库。但比一般的键值对,比如 HashMap 强大的多,Redis 中的 value 支持 string、hash、 list、set、zset、Bitmaps、HyperLogLog、GEO 等多种数据结构。而且因为 Redis 的所有数据都存放在内存当中,所以它的读写性能非常出色。不仅如此,Redis 还可以将内存数据持久化到硬盘上,这样在发生类似断电或者机器故障的时候,内存中的数据并不会丢失。除此之外,Redis 还提供了键过期、发布订阅、事务、流水线、Lua 脚本等附加功能,是互联网技术领域中使用最广泛的缓存中间件。

1.1 Redis 和 MySQL 的区别?

Redis:数据存储在内存中的 NoSQL 数据库,读写性能非常好,是互联网技术领域中使用最广泛的缓存中间件。
MySQL:数据存储在硬盘中的关系型数据库,适用于需要事务支持和复杂查询的场景。

1.2 项目里哪里用到了 Redis?

1.3 部署过 Redis 吗?

我是直接在本地部署的单机版,只需要下载 Redis 的安装包,解压后运行 redis-server 命令即可。

2、Redis 可以用来干什么?

Redis 可以用来做缓存、排行榜/计数器、分布式锁等等。

  1. 缓存:缓存是 Redis 最常见的用途,由于 Redis 的数据存储在内存中,所以读写速度非常快,远超基于磁盘存储的数据库。使用 Redis 缓存可以极大地提高应用的响应速度和吞吐量。
    在这里插入图片描述
  2. 排行榜/计数器:Redis 的 ZSet 非常适合用来实现排行榜的功能,可以根据 score 进行排序,实时展示用户的活跃度。同时 Redis 的原子递增操作可以用来实现计数器功能。
  3. 分布式锁:Redis 可以实现分布式锁,用来控制跨多个进程的资源访问。

3、Redis 有哪些数据类型?

Redis 有五种基本数据类型,这五种数据类型分别是:String、Hash、List、Set、Sorted Set(也叫 Zset)。
在这里插入图片描述

3.1 简单介绍下 String?

字符串是最基础的数据类型,key 是字符串,value 是:字符串、数字、二进制。
字符串的主要使用场景:缓存、计数、共享 Session、限速。

3.2 简单介绍下 Hash?

哈希是键值对集合,key 是字符串,value 是 Map 集合,比如说 value = { name : ‘沉默王二’, age : 18 }。
哈希的主要使用场景:缓存用户信息、缓存对象。

3.3 为什么使用 Hash 类型而不使用 String 类型序列化存储?

在这里插入图片描述
使用 Hash 比使用 String 存取更方便。

3.4 简单介绍下 List?

List 是字符串列表,按照插入顺序排序。可以添加一个元素到列表的头部(左边)或者尾部(右边)。
列表的主要使用场景:消息队列、文章列表。

3.5 简单介绍下 Set?

Set 是无序集合,元素是唯一的,不允许重复。
无序集合的主要使用场景:去重存储、集合运算、​​随机抽取。

3.6 简单介绍下 Zset?

Zset 是有序集合,比 Set 多了一个排序属性 score。
有序集合的主要使用场景:排行榜、延时任务、范围查询、加权统计。
在这里插入图片描述

4、

5、

6、

7、

8、

9、

相关文章:

  • 基础算法篇(4)(蓝桥杯常考点)—数据结构(进阶)
  • (三)深入了解AVFoundation-播放:AVPlayer 进阶 播放状态 进度监听全解析
  • Spring Boot 自动装配原理
  • 前端如何检测项目中新版本的发布?
  • 聊聊Spring AI的RedisVectorStore
  • Lua 第5部分 表
  • 图的储存+图的遍历
  • Spring Boot 整合 Servlet三大组件(Servlet / Filter / Listene)
  • 开源大语言模型智能体应用开发平台——Dify
  • 项目复杂业务的数据流解耦处理方案整理
  • Java命令模式详解
  • Java面试39-Zookeeper中的Watch机制的原理
  • 前端服务配置详解:从入门到实战
  • 鸿蒙版小红书如何让图库访问完全由“你”掌控
  • 2025.04.07【数据科学新工具】| dynverse:数据标准化、排序、模拟与可视化的综合解决方案
  • MQTT-Dashboard-数据集成-WebHook、日志管理
  • 深入理解STAR法则
  • 如何开通google Free Tier长期免费云服务器(1C/1G)
  • Python----计算机视觉处理(Opencv:道路检测之车道线显示)
  • SpringWebFlux测试:WebTestClient与StepVerifier
  • 《掩耳盗邻》:富人劫富,是犯罪,也是赎罪?
  • 体坛联播|水晶宫队史首夺足总杯,CBA总决赛爆发赛后冲突
  • 河南一女子被医院强制带走治疗,官方通报:当值医生停职
  • 下辖各区密集“联手”,南京在下一盘什么样的棋?
  • 首次带人形机器人走科技节红毯,傅利叶顾捷:没太多包袱,很多事都能从零开始
  • 马上评|家长抱婴儿值护学岗,如何避免“被自愿”?