Redis常见面试题(三)

本文详细解析Redis String存储限制、事务的作用与命令、非原子性特点、持久化策略(RDB和AOF),以及如何保证热点数据和应对内存满情况。还介绍了配置最大内存容量的方法,以及如何在实际应用中权衡RDB和AOF的使用。
摘要由CSDN通过智能技术生成

目录

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事务相关的命令有哪几个?

Redis事务相关的命令有: .

1)MULTI:用于开启事务

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

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

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

5)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配置文件:

单位为:字节。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值