目录
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)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配置文件:
单位为:字节。