admin管理员组

文章数量:1794759

Redis常见面试题(三)

Redis常见面试题(三)

目录

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)Redis事务不是原子性的,且事务不支持回滚,但是Redis单个命令是原子性的。EXEC命令执行之前的错误(如:各种语法错误)
  • 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配置文件:

    单位为:字节。

    本文标签: 面试题常见Redis