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

Redis 面试题 | 01.精选Redis高频面试题

在这里插入图片描述

🤍 前端开发工程师、技术日更博主、已过CET6
🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1
🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》
🍚 蓝桥云课签约作者、上架课程《Vue.js 和 Egg.js 开发企业级健康管理项目》、《带你从入门到实战全面掌握 uni-app》

文章目录

    • 1. 什么是Redis?它的主要特点是什么?
    • 2. Redis的数据类型有哪些?
    • 3. Redis的持久化机制是什么?有哪些不同的持久化方式?
    • 4. Redis的主从复制是什么?有什么作用?

1. 什么是Redis?它的主要特点是什么?

Redis是一个开源的内存数据结构存储库,用于缓存数据、存储和检索数据。它提供了多种数据结构,如字符串、列表、哈希表、集合和排序集等,可以用于实现各种应用场景,如缓存、分布式锁、消息队列等。

Redis的主要特点包括:

  1. 高性能:Redis使用内存存储数据,具有极高的读写速度,能够快速地执行各种数据结构操作。

  2. 简单易用:Redis使用键值对的方式存储数据,可以通过简单的命令进行数据操作,无需复杂的SQL语句。

  3. 持久化:Redis支持数据持久化,可以将数据保存在磁盘上,即使Redis服务器崩溃,数据也不会丢失。

  4. 分布式:Redis支持集群模式,可以将数据分散在多个节点上,以提高系统的可用性和可扩展性。

  5. 丰富数据结构:Redis提供了多种数据结构,可以满足不同应用场景的需求。

  6. 开源:Redis是一个开源项目,拥有广泛的社区支持,可以方便地集成到各种应用程序中。

2. Redis的数据类型有哪些?

Redis提供了丰富的数据类型,包括:

  1. 字符串(String):存储一个简单的字符串值。

  2. 列表(List):存储一个列表,列表中的元素有序排列,可以进行左插、右插、索引操作等。

  3. 哈希表(Hash):存储一个哈希表,可以存储多个键值对。

  4. 集合(Set):存储一个集合,集合中的元素互不相同。

  5. 有序集合(Sorted Set):存储一个有序集合,集合中的元素可以进行排序。

  6. 布隆过滤器(Bloom Filter):用于判断元素是否存在于集合中。

  7. 事务(Transaction):支持事务操作,确保数据的一致性和完整性。

  8. 脚本(Script):支持使用Lua语言进行脚本编程,扩展Redis的功能。

  9. 集群(Cluster):支持集群模式,可以将数据分散在多个节点上,以提高系统的可用性和可扩展性。

  10. 数据备份(Backup):支持数据备份,可以将数据保存在磁盘上,即使Redis服务器崩溃,数据也不会丢失。

  11. 发布/订阅(Pub/Sub):支持发布/订阅模式,可以实现消息队列功能。

  12. 地理信息(Geo):支持地理信息查询,可以查询指定经纬度范围内的数据。

  13. 搜索(Search):支持搜索功能,可以对数据进行全文搜索。

  14. 缓存(Cache):支持缓存功能,可以将数据缓存到内存中,提高访问速度。

  15. 限流(Rate Limiter):支持限流功能,可以限制请求的速率,避免请求过多导致系统崩溃。

3. Redis的持久化机制是什么?有哪些不同的持久化方式?

Redis的持久化机制是指将数据保存在磁盘上,即使Redis服务器崩溃,数据也不会丢失。Redis提供了多种持久化方式,包括:

  1. RDB持久化:Redis提供了RDB(Redis Database)格式,可以将数据导出到磁盘上,形成一个备份文件。RDB文件是一个二进制文件,包含Redis的数据结构和数据。当Redis服务器崩溃时,可以从RDB文件中恢复数据。RDB持久化是Redis的默认持久化方式。

  2. AOF持久化:Redis提供了AOF(Append-Only File)格式,可以将Redis的命令日志导出到磁盘上,形成一个备份文件。AOF文件是一个文本文件,包含Redis的命令日志。当Redis服务器崩溃时,可以从AOF文件中恢复数据。

  3. 混合持久化:RDB和AOF的组合持久化,即在Redis服务器运行期间,每隔一段时间将数据导出到RDB文件,并记录命令日志到AOF文件。当Redis服务器崩溃时,可以使用RDB文件恢复数据,并使用AOF文件恢复命令日志。

  4. 数据压缩持久化:Redis提供了数据压缩持久化,可以将数据压缩后保存在磁盘上,以减少磁盘空间的使用。

  5. 数据分片持久化:Redis提供了数据分片持久化,可以将数据分散在多个磁盘上,以提高系统的可用性和可扩展性。

  6. 数据加密持久化:Redis提供了数据加密持久化,可以将数据加密后保存在磁盘上,以保护数据的安全性。

  7. 数据备份持久化:Redis提供了数据备份持久化,可以将数据备份到磁盘上,以防止数据丢失。

  8. 数据归档持久化:Redis提供了数据归档持久化,可以将不再使用的数据归档到磁盘上,以减少磁盘空间的使用。

4. Redis的主从复制是什么?有什么作用?

Redis的主从复制是指将Redis服务器分为主服务器和从服务器,主服务器用于读写操作,从服务器用于备份数据和提供只读服务。主从复制可以实现数据的高可用性和数据的分片,其主要作用包括:

  1. 数据的高可用性:当主服务器崩溃时,Redis集群中的其他主服务器会自动接管数据,从而保证Redis集群的可用性。

  2. 数据的分片:将Redis集群分为多个主服务器和从服务器,可以提高Redis集群的并发性能,从而提高系统的处理能力。

  3. 数据的一致性和完整性:主从复制可以保证数据的一致性和完整性,避免数据不一致的情况发生。

  4. 数据的可扩展性:通过添加从服务器,可以扩展Redis集群的存储容量,从而提高系统的处理能力和可用性。

  5. 数据的安全性:通过备份数据到从服务器,可以提高数据的安全性,避免数据丢失的情况发生。

  6. 数据的可查询性:通过从服务器,可以提供只读服务,从而提高系统的查询性能。

  7. 数据的可恢复性:通过备份数据到从服务器,可以提高数据的可恢复性,即使主服务器崩溃,也可以从备份数据中恢复数据。

  8. 数据的可移植性:通过主从复制,可以将Redis集群迁移到其他平台或服务器上,从而提高系统的可移植性。

相关文章:

Redis 面试题 | 01.精选Redis高频面试题

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…...

Crow:实现点击下载功能

Crow:设置网站的index.html-CSDN博客 讲述了如何完成一个最简单的网页的路由 很多网页提供了下载功能,怎么实现呢,其实也很简单。 假设网页的目录结构如图 $ tree static static ├── img │ └── goodday.jpg └── index.html //index.html <html> <body&…...

2024年华为OD机试真题-内存冷热标记-Python-OD统一考试(C卷)

题目描述: 现代计算机系统中通常存在多级的存储设备,针对海量workload的优化的一种思路是将热点内存页优先放到快速存储层级,这就需要对内存页进行冷热标记。 一种典型的方案是基于内存页的访问频次进行标记,如果统计窗口内访问次数大于等于设定阈值,则认为是热内存页,否…...

Webpack5入门到原理9:处理字体图标资源

1. 下载字体图标文件 打开阿里巴巴矢量图标库选择想要的图标添加到购物车&#xff0c;统一下载到本地 2. 添加字体图标资源 src/fonts/iconfont.ttfsrc/fonts/iconfont.woffsrc/fonts/iconfont.woff2src/css/iconfont.css/注意字体文件路径需要修改 src/main.js import { …...

【Docker】在Windows操作系统安装Docker前配置环境

欢迎来到《小5讲堂》&#xff0c;大家好&#xff0c;我是全栈小5。 这是《Docker容器》序列文章&#xff0c;每篇文章将以博主理解的角度展开讲解&#xff0c; 特别是针对知识点的概念进行叙说&#xff0c;大部分文章将会对这些概念进行实际例子验证&#xff0c;以此达到加深对…...

Webpack5入门到原理21:提升开发体验

SourceMap 为什么 开发时我们运行的代码是经过 webpack 编译后的&#xff0c;例如下面这个样子&#xff1a; /** ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").* This devtool is neither made for product…...

YOLOv8改进 | Conv篇 | 在线重参数化卷积OREPA助力二次创新(提高推理速度 + FPS)

一、本文介绍 本文给大家带来的改进机制是一种重参数化的卷积模块OREPA,这种重参数化模块非常适合用于二次创新,我们可以将其替换网络中的其它卷积模块可以不影响推理速度的同时让模型学习到更多的特征。OREPA是通过在线卷积重参数化(Online Convolutional Re-parameteriza…...

conda国内加速

1、配置国内源 conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ 2、显示源地址 conda config --set show_channel_urls yes...

RabbitMQ-数据持久化

一、持久化类型 1、交换机持久化&#xff08;SpringAMQP默认&#xff09; 2、队列持久化&#xff08;SpringAMQP默认&#xff09; 3、消息持久化 二、消息持久化 1、纯内存操作 如果采用纯内存操作&#xff0c;那么消息存储达到队列的上限之后&#xff0c;会有一个page ou…...

JS-WebAPIs-本地存储(五)

• 本地存储介绍 以前我们页面写的数据一刷新页面就没有了&#xff0c;是不是&#xff1f;随着互联网的快速发展&#xff0c;基于网页的应用越来越普遍&#xff0c;同时也变的越来越复杂&#xff0c;为了满足各种各样的需求&#xff0c;会经常 性在本地存储大量的数据&#xf…...

了解Vue中日历插件Fullcalendar

实现效果如下图&#xff1a; 月视图 周视图 日视图 官方文档地址&#xff1a;Vue Component - Docs | FullCalendar 1、安装与FullCalendar相关的依赖项 npm install --save fullcalendar/vue fullcalendar/core fullcalendar/daygrid fullcalendar/timegrid fullcalend…...

Cloudreve存储策略-通过从机存储来拓展容量

Sham的云服务器是搬瓦工最低低低配的&#xff0c;1H 0.5G不说&#xff0c;硬盘容量也只有10g&#xff0c;说实话&#xff0c;装了宝塔面板和服务器套件后&#xff0c;基本满了&#xff0c;这时又想在云服务器上打个网盘用于下载、存储&#xff0c;这时就需要拓展硬盘&#xff0…...

java进阶-jvm精讲及实战

深入了解jvm及实战 1.引言2.jvm概念理解 1.引言 jvm是深入了解java底层逻辑的必备知识储备,在中大型开发团队里,中高级工程师必须要了解和掌握,也是中高级工程师面试必考题,在实战中用于程序性能调优,内存泄露分析等 2.jvm概念理解...

vue中引入sass、scss

常规步骤 1. 创建项目 使用vue cli 脚手架工具创建项目 vue create xxxx2. 创建全局样式文件 全局样式变量 路径&#xff1a;/assets/styles/variables.scss //flex 布局变量 $--flex-direction: ("row", "column"); $--flex-position: ("start"…...

Java学习笔记(八)——Lambda表达式

文章目录 Lambda表达式Lambda表达式的省略写法Lambda练习练习1练习2 算法题算法题1 斐波那契数列算法题2 猴子吃桃子算法题3 爬楼梯 Lambda表达式 Lambda表达式是JDK8开始的一种新语法形式。 基本作用&#xff1a;简化函数式接口的匿名内部类的写法。 注意&#xff1a; Lam…...

【JavaEE】CAS

作者主页&#xff1a;paper jie_博客 本文作者&#xff1a;大家好&#xff0c;我是paper jie&#xff0c;感谢你阅读本文&#xff0c;欢迎一建三连哦。 本文于《JavaEE》专栏&#xff0c;本专栏是针对于大学生&#xff0c;编程小白精心打造的。笔者用重金(时间和精力)打造&…...

Linux 系统之部署 h5ai 目录列表程序

一、h5ai 介绍 1.1&#xff09;h5ai 简介 h5ai 是用于 HTTP Web 服务器的现代文件索引器&#xff0c;专注于您的文件。目录以吸引人的方式显示&#xff0c;浏览它们通过不同的视图、面包屑和树概述得到增强。最初 h5ai 是 HTML5 Apache Index 的首字母缩写&#xff0c;但现在它…...

MySQL自增ID耗尽探究:分析与解决方案

MySQL自增ID耗尽探究&#xff1a;分析与解决方案 一、引言 在面试过程中&#xff0c;面试官抛出了一个看似简单却又深入的问题&#xff1a;“MySQL的自增ID用完了&#xff0c;怎么办&#xff1f;” 自增ID耗尽可能看似遥远&#xff0c;但在处理大量数据的系统中&#xff0c;…...

操作系统-操作系统引导(磁盘 操作系统引导过程)

文章目录 总览一个刚买来的磁盘&#xff08;硬盘&#xff09;往磁盘安装操作系统后操作系统引导过程例&#xff1a;windows操作系统的初始化程序 总览 一个刚买来的磁盘&#xff08;硬盘&#xff09; 此时空空如也 往磁盘安装操作系统后 操作系统在C盘 主引导记录不属于某…...

基于SpringBoot+Redis的前后端分离外卖项目-苍穹外卖微信小程序端(十三)

地址簿相关功能 1.1 需求分析和设计1.1.1 产品原型1.1.2 接口设计1.1.3 表设计 1.2 代码实现1.2.1 Mapper层1.2.2 Service层1.2.3 Controller层 1.1 需求分析和设计 1.1.1 产品原型 地址簿&#xff0c;指的是消费者用户的地址信息&#xff0c;用户登录成功后可以维护自己的地…...

51c自动驾驶~合集58

我自己的原文哦~ https://blog.51cto.com/whaosoft/13967107 #CCA-Attention 全局池化局部保留&#xff0c;CCA-Attention为LLM长文本建模带来突破性进展 琶洲实验室、华南理工大学联合推出关键上下文感知注意力机制&#xff08;CCA-Attention&#xff09;&#xff0c;…...

突破不可导策略的训练难题:零阶优化与强化学习的深度嵌合

强化学习&#xff08;Reinforcement Learning, RL&#xff09;是工业领域智能控制的重要方法。它的基本原理是将最优控制问题建模为马尔可夫决策过程&#xff0c;然后使用强化学习的Actor-Critic机制&#xff08;中文译作“知行互动”机制&#xff09;&#xff0c;逐步迭代求解…...

Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?

Golang 面试经典题&#xff1a;map 的 key 可以是什么类型&#xff1f;哪些不可以&#xff1f; 在 Golang 的面试中&#xff0c;map 类型的使用是一个常见的考点&#xff0c;其中对 key 类型的合法性 是一道常被提及的基础却很容易被忽视的问题。本文将带你深入理解 Golang 中…...

中南大学无人机智能体的全面评估!BEDI:用于评估无人机上具身智能体的综合性基准测试

作者&#xff1a;Mingning Guo, Mengwei Wu, Jiarun He, Shaoxian Li, Haifeng Li, Chao Tao单位&#xff1a;中南大学地球科学与信息物理学院论文标题&#xff1a;BEDI: A Comprehensive Benchmark for Evaluating Embodied Agents on UAVs论文链接&#xff1a;https://arxiv.…...

Day131 | 灵神 | 回溯算法 | 子集型 子集

Day131 | 灵神 | 回溯算法 | 子集型 子集 78.子集 78. 子集 - 力扣&#xff08;LeetCode&#xff09; 思路&#xff1a; 笔者写过很多次这道题了&#xff0c;不想写题解了&#xff0c;大家看灵神讲解吧 回溯算法套路①子集型回溯【基础算法精讲 14】_哔哩哔哩_bilibili 完…...

MySQL 8.0 OCP 英文题库解析(十三)

Oracle 为庆祝 MySQL 30 周年&#xff0c;截止到 2025.07.31 之前。所有人均可以免费考取原价245美元的MySQL OCP 认证。 从今天开始&#xff0c;将英文题库免费公布出来&#xff0c;并进行解析&#xff0c;帮助大家在一个月之内轻松通过OCP认证。 本期公布试题111~120 试题1…...

C++ 求圆面积的程序(Program to find area of a circle)

给定半径r&#xff0c;求圆的面积。圆的面积应精确到小数点后5位。 例子&#xff1a; 输入&#xff1a;r 5 输出&#xff1a;78.53982 解释&#xff1a;由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982&#xff0c;因为我们只保留小数点后 5 位数字。 输…...

如何在网页里填写 PDF 表格?

有时候&#xff0c;你可能希望用户能在你的网站上填写 PDF 表单。然而&#xff0c;这件事并不简单&#xff0c;因为 PDF 并不是一种原生的网页格式。虽然浏览器可以显示 PDF 文件&#xff0c;但原生并不支持编辑或填写它们。更糟的是&#xff0c;如果你想收集表单数据&#xff…...

AI,如何重构理解、匹配与决策?

AI 时代&#xff0c;我们如何理解消费&#xff1f; 作者&#xff5c;王彬 封面&#xff5c;Unplash 人们通过信息理解世界。 曾几何时&#xff0c;PC 与移动互联网重塑了人们的购物路径&#xff1a;信息变得唾手可得&#xff0c;商品决策变得高度依赖内容。 但 AI 时代的来…...

Unsafe Fileupload篇补充-木马的详细教程与木马分享(中国蚁剑方式)

在之前的皮卡丘靶场第九期Unsafe Fileupload篇中我们学习了木马的原理并且学了一个简单的木马文件 本期内容是为了更好的为大家解释木马&#xff08;服务器方面的&#xff09;的原理&#xff0c;连接&#xff0c;以及各种木马及连接工具的分享 文件木马&#xff1a;https://w…...