【后端面试基础】-【Redis篇】(一): Redis概述

95 阅读2分钟

Redis概叙

Redis是一个K-V数据库,是一个非常流行且常用的中间件。一般在项目中我们经常将其作为缓存服务使用,提高整个系统的访问性能。

Redis相比与其他的缓存系统有以下优势:

  1. 支持数据的持久化,将数据保存在磁盘中,重启后可恢复数据
  2. 支持很多的数据类型,提高了数据存储后访问的速度
  3. 支持主从、集群模式,能够备份、处理更多的数据

下面是Redis中几个主要的知识点

这篇文章主要来看一下Redis相关的特性

Redis应用场景

  • 共享缓存

使用redis来存储session相关的登录信息

  • 排行榜

基于Zset实现排行榜功能

  • 关系网

基于set实现共同好友功能

  • 队列

使用list可实现队列的简单功能

  • 分布式锁

使用setnx可实现分布式锁的功能

Redis为什么这么快?

一提到Redis大家可能就说Redis处理速度很快。单机上读可以到10w QPS,写可以到8w QPS。那么redis为什么这么快呢?

  • Redis基于内存操作

首先redis处理数据都是基于内存操作的,不需要访问磁盘IO(持久化操作会访问)。

  • Redis处理数据是单线程

Redis中处理数据是单线程操作的。当有其他操作,如持久化时会开启另外的线程。单线程处理时就省下来多线程切换的时间。

  • Redis中有很多高效的数据结构

Redis中有很多数据的存储结构,针对数据量的大小不同会使用不同的底层结构,如我们所熟知的跳表就很大的提升了数据查询性能

  • 使用了epoll IO多路复用模型

当多个客户端连接Redis服务时,通过epoll模型可监听多个socket,并只返回响应的socket加快回复速度