> 文档中心 > java面试重点知识总结15

java面试重点知识总结15

文章目录

  • 1.什么是Redis?简述它的优缺点? ֧
  • 2.Redis有哪些数据结构?
  • 3.为什么 Redis 需要把所有数据放到内存中?
  • 4.Redis的持久化了解过吗?
  • 5.怎么理解 Redis 事务

1.什么是Redis?简述它的优缺点? ֧

Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中

进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。

因为是纯内存操作,Redis的性能非常出色,每秒可以处理超过 10万次读写操作,是已知性能最快的

Key-Value DB。

Redis的出色之处不仅仅是性能,Redis最大的魅力是支持保存多种数据结构,此外单个value的最大限制

是1GB,不像 memcached只能保存1MB的数据,因此Redis可以用来实现很多有用的功能。

比方说用他的List来做FIFO双向链表,实现一个轻量级的高性 能消息队列服务,用他的Set可以做高性能

的tag系统等等。

另外Redis也可以对存入的Key-Value设置expire时间,因此也可以被当作一 个功能加强版的

memcached来用。 Redis的主要缺点是数据库容量受到物理内存的限制,不能用作海量数据的高性能读

写,因此Redis适合的场景主要局限在较小数据量的高性能操作和运算上。

2.Redis有哪些数据结构?

Redis 有 5 种基础数据结构,它们分别是:string(字符串)、list(列表)、hash(字典)、set(集合) 和 zset(有

序集合)。这 5 种是 Redis 相关知识中最基础、最重要的部分。

3.为什么 Redis 需要把所有数据放到内存中?

Redis 为了达到最快的读写速度将数据都读到内存中,并通过异步的方式将数据写入磁盘。

所以 redis 具有快速和数据持久化的特征,如果不将数据放在内存中,磁盘 I/O 速度为严重影响 redis 的

性能。

在内存越来越便宜的今天,redis 将会越来越受欢迎, 如果设置了最大使用的内存,则数据已有记录数

达到内存限值后不能继续插入新值。

4.Redis的持久化了解过吗?

Redis持久化有RDB和AOF这2种方式。

RDB:将数据库快照以二进制的方式保存到磁盘中。

AOF:以协议文本方式,将所有对数据库进行过写入的命令和参数记录到AOF文件,从而记录数据库状

态。

5.怎么理解 Redis 事务?

事务是一个单独的隔离操作:事务中的所有命令都会序列化、按顺序地执行,事务在执行的过程中,不

会被其他客户端发送来的命令请求所打断。

事务是一个原子操作:事务中的命令要么全部被执行,要么全部都不执行。