Redis常见面试题(三)

news2024/9/28 21:29:01

目录

1、Redis String值最大存储多少?

2、Redis事务有什么用?

3、Redis事务相关的命令有哪几个?

4、Redis事务是原子性的吗?

5、Redis持久化有什么用?

6、Redis有哪几种持久化方式?

7、Redis持久化方式如何选择?

8、如何保证Redis中的数据都是热点数据?

9、Redis内存满了怎么办?

10、Redis怎么配置最大内存容量?


1、Redis String值最大存储多少?

A value can't be bigger than 512 MB.

2、Redis事务有什么用?

Redis中的事务是一一个 单独的隔离操作,事务中的所有命令都会序列化、按顺序地执行,事务在执行的过程中,不会被其他客户端发送来的命令请求所打断。

与关系数据库中的事务不同,Redis 中的事务只是一组命令集合,不能保证ACID所有特性。

3、Redis事务相关的命令有哪几个?

1)Redis事务相关的命令有: .

2)MULTI:用于开启事务

3)EXEC:用于执行事务中的所有命令

4)DISCARD:用于取消当前事务

5)WATCH:监视-一个或多个KEY,决定事务是继.续执行还是回滚

6)UNWATCH:取消WATCH的监视

4、Redis事务是原子性的吗?

  1. 1)Redis事务不是原子性的,且事务不支持回滚,但是Redis单个命令是原子性的。EXEC命令执行之前的错误(如:各种语法错误)
  2. 2)Redis会自动放弃事务,但调用EXEC命令执行失败后的错误(如:事务中的命令和处理了不支持的键),此时,事务中的其他命令仍会执行。

5、Redis持久化有什么用?

持久化就是把内存的数据写到磁盘中去,防止服务宕机了内存数据丢失。

6、Redis有哪几种持久化方式?

Redis提供两种持久化机制: RDB (默认)和AOF机制。

1)RDB,即: Redis DataBase,是Redis默认的持久化方式。

按照一定的时间将内存的数据以快照的形式保存到硬盘中,对应产生的数据文件为dump.rdb。

通过配置文件中的save参数来定义快照的周期。

2)AOF,即: Append Only File,则是将Redis执行的每次写命令记录到单独的日志文件中,当重

启Redis会重新将持久化的日志中文件恢复数据。

7、Redis持化方式如何选择?

一般来说, 应该同时使用RDB和AOF两种持久化功能。

当Redis重启的时候会优先载入AOF文件来恢复原始的数据,因为在通常情况下AOF文件保存的数据集要比RDB文件保存的数据集要完整。

8、如何保证Redis中的数据都是热点数据?

比如,现在MySQL数据库里有2000万数据,Redis中只能存20万数据,如何保证Redis中的数据都是热点数据呢?

这道面试题其实考察的是Redis的淘汰策略,淘汰策略见另外一道面试题: Redis 有哪些淘汰策略?

所以,首先计算一下20万数据大概占用的内存大小,然后设置一下Redis的最大内存容量大小,并将淘汰策略为volatile-lru 或者allkeys-lru,Redis会根据自身数据执行淘汰策略,即淘汰最近最少使用的数据,最后留下来的都是热数据。

9、Redis内存满了怎么办?

如果达到设置的上限,默认淘汰策略下,Redis 的写命令会返回错误信息,但是读命令还可以正常返回

一般要配置合适的淘汰机制,当Redis达到内存上限时会冲淘汰掉旧的数据。

10、Redis怎么配置最大内存容量?

修改Redis配置文件:

 

单位为:字节。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/96844.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vue前后端分离项目打包成app,部署成移动端

将vue项目打包成app,在手机上运行。 1. vue打包 npm run build 先将vue的前端项目打包成dist文件夹 2. 安装hbuilderX Hbuilder官网地址 3. hbuilderX 1)新建项目 我是vue的,所以直接选择的h5app,然后起个名字,选择路径。 2…

微服务实用篇6-分布式搜索elasticsearch篇2

今天我们继续学习分布式搜索引擎elasticsearch,今天主要学习四个模块,分别为DSL查询文档,搜索结果处理,RestClient查询文档,还有最好演示一个旅游案例。下面开始今天的学习吧。 目录 一、DSL查询文档 1.1、DSL查询分…

Hadoop学习----软件安装

Hadoop源码下载重新编译 软件下载:https://hadoop.apache.org/releases.html 建议是下载源码包。 源码包和官方编译安装包有什么不一样呢? 正常情况下,非生产环境直接使用官方编译安装包即可,但是官方提供的安装包不支持本地库。…

ANTLR4入门(二):图示说明eclipse安装Antlr4IDE插件的过程

如果你能正常通过Eclipse Market找到antlr4的插件并正常安装,可以忽略本文。 如果不能,那多半是因为网络问题导致安装Antlr4IDE插件时无法下载文件造成的。我就遇到了这个问题,无法下载的原因很复杂,我不想去深究了,我…

WPF/XAML关于x:key和x:name的区别,全面解读超详细

x:key和x:name的区别 x:Keyx:Name用于xaml Resources,ResourceDictionary用在ResourceDictionary以外任何地方使用key访问xaml指定对象使用name访问xaml对象标识资源创建和引用,存在于 ResourceDictionary 中的元素唯一标识对象元素,以便于从…

【Spring】SpringCloud

目录 一、SpringCloud 二、微服务介绍 1.系统架构演变 1.1 单体应用架构 1.2 垂直应用架构 1.3 分布式架构 1.4 SOA架构(面向服务的架构) 1.5 微服务架构(服务的原子化拆分) 2.微服务架构介绍 2.1 问题: 2.2…

与新手一起快速了解「什么是次世代」?

次世代(英文:Next Generation),源自日本语,即下一个时代,未来的时代。与传统游戏相比,次世代游戏是把次世代游戏开发技术融入到现代游戏之中,通过增加模型的面数和贴图的数据量并使用…

JDK8系列之使用Function函数式接口

一、函数式接口是jdk8的新特性之一&#xff0c;函数式接口是只包含一个抽象方法声明的接口。按分类主要分为四大接口类型: Function、Consumer、Predicate、Supplier。 接口参数返回值说明Supplier<T>无T供给型&#xff0c;无参&#xff0c;返回一个指定泛型的对象Consu…

设计解谜游戏的30堂课

设计解谜游戏的30堂课 文章目录1.什么是Eureka Moment&#xff1f;2.谜题与幽默是同构的3.最大限度提高Sparkle4.避免无意义的谜题5.惊喜是Sparkle的重要源泉6.有趣的事实是惊喜的源泉7.尤里卡时刻并不是自豪8.不同解密者所寻求的解密体验是不尽相同的9.尤里卡是可以分享的10.创…

OVS-DPDK

要使用 ovs-dpdk&#xff0c;需要在node上构建 DPDK 并使用相应的 DPDK flag重新构建 ovs。 OVS-DPDK需要从源码编译&#xff0c;因为高度依赖内核等所在机器的环境&#xff0c;并需要配置很多参数以达到高性能。这意味着很难提供一个ovs-dpdk docker镜像来满足所有情况。OVS-D…

推荐系统学习笔记-基于图的模型

由来 基于图的模型&#xff08; graph-based model &#xff09;是推荐系统中的重要内容。其实&#xff0c;很多研究人员把基于邻域的模型也称为基于图的模型&#xff0c;因为可以把基于邻域的模型看做基于图的模型的简单形式。 在研究基于图的模型之前&#xff0c;首先需要将…

毫米波传感器原理介绍:角度估计

前边两篇博文从距离和速度两个维度进行了介绍&#xff0c;本篇将沿着第三个维度&#xff0c;角度进行分析&#xff0c;这也是毫米波传感器原理介绍的最后一篇理论基础。还是老规矩&#xff0c;我们先把公式列出来。 假设雷达两个接收天线之间的距离为d&#xff0c;θ 是物体相…

IS-95前向链路系统误码率matlab仿真,包括扩频调制,匹配滤波,RAKE接收

目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 前向链路指由基站发往移动台的无线通信链路&#xff0c;也称作下行链路。IS-95系统前向链路最多可以有64个同时传输的信道&#xff0c;它们是在PN序列上再采用正交的Walsh码进行区分的信道&#…

网上书店系统/书店管理系统的设计与实现

摘 要 随着信息技术和网络技术的飞速发展&#xff0c;人类已进入全新信息化时代&#xff0c;传统管理技术已无法高效&#xff0c;便捷地管理信息。为了迎合时代需求&#xff0c;优化管理效率&#xff0c;各种各样的管理系统应运而生&#xff0c;各行各业相继进入信息管理时代&…

C51 ——433M 射频信号控制喇叭

遥控按下后信号怎么被接受接 接收后的表现 &#xff1a; 厂商会告诉我们 这款告诉我们 接收模块对应针脚输出高电平 。 遥控控制喇叭 #include "reg52.h" sbit switcher P1^1; // 把继电器IN口 接到 P1.1 sbit D0_ON P1^2; // 把433M 射频信号接收器D0 口 接到P1.…

postman上传文件(multipart/form-data请求)

postman上传文件&#xff08;multipart/form-data请求&#xff09; 背景 网页的form表单中&#xff0c;如果存在上传文件的表单&#xff0c;则需要将form标签设置enctype"multipart/form-data"属性&#xff0c;意思是将Content-Type设置成multipart/form-data。 那…

今日小惊喜

今日限定小惊喜&#xff0c;一抬头突然发现有花开。

ESP32基础应用之lvgl显示中文

文章目录1 工程简介2 工程实现2.1 制作字库2.2 为字库自作分区表2.3 将字库移植到lvgl工程中2.4 将字库myFont.bin烧录到分区表中2.5 编写程序测试3 存在问题1 工程简介 该工程在《ESP32基础应用之LVGL基础》之上实现中文的显示。 参考文章 《ESP32 IDF LVGL8.0 flash 外部字…

CSC7720

CSC7720是一款用于5V2.1A开关电源的高效率同步整流控制IC。其具备较高的集成度&#xff0c;在有效的提升开关电源的转换效率的同时&#xff0c;减少了外围元器件的应用。CSC7720可用于DCM/QR开关电源系统。CSC7720内置45V的功率管&#xff0c;在系统中替代次级肖特基管,并提高整…

启动单文件组件项目及项目文件解释

启动项目文件&#xff1a;“package.json”&#xff1a; “package.json”&#xff1a;这个文件能记录当前项目中安装的所有模块&#xff0c;里面也有脚本&#xff0c;这个脚本可以快速启动我们的项目。 打开文件&#xff0c;可以看到“serve”&#xff0c;serve就是启动文件…