面试题:Redis

一、为什么要用Redis?

1、内存数据库,快,很快.......

2、工作单线程worker,串行化、原子操作. (IO线程是多线程)- 避免上下文切换

3、IO模型(epoll), 支撑高并发.

4、kv模型,v具有类型结构.

5、具有本地方法,计算向数据移动。(a,b) => 交集

6、二进制安全,Value最大512M

二、Redis是单线程还是多线程?

6.0版本之前是单线程

6.0版本之后:Io是单线程,worker是多线程

三、Redis数据持久化方案?

Redis是一个内存数据库,一旦断电或服务器进程退出,内存数据库中的数据将全部丢失,所以需要Redis持久化

Redis持久化就是把数据保存在磁盘上,利用永久性存储介质将数据保存,在特定的时间将保存的数据进行恢复的工作机制

Redis提供两种持久化机制:

  • RDB(Redis DataBase):存储数据结果,关注点在数据(快照)

  • AOF(Append Only File):存储操作过程,关注点在数据的操作过程(命令)

RDB与AOF触发方式、优缺点:

RDB的触发方式:

  • 手动触发:通过命令手动生成快照 (save,bgsave)

  • 自动触发:通过配置参数的设置触发自动生成快照

缺点:

  1. 快照时间有间隔,不能实时备份,丢失数据可能会比较多

  2. 开启子进程备份数据,在数据集比较庞大时,fork()可能会非常耗时,造成服务器在一定时间内停止处理客户端。

优点:

1.恢复数据比较快

2.备份的文件就是原始内存数据的大小,不会额外增加数据占用,

AOF的触发方式

1.手动触发

通过bgrewriteaof命令:重新AOF持久化生成aof文件(触发重写)

2.自动触发

默认情况,redis是没有开启AOF(默认使用RDB持久化),需要通过配置文件开启

AOF的优缺点

优点:

  • 数据安全性高,不易丢数据

  • AOF文件有序保存了所有写操作,可读性强

缺点:

  • AOF方式生成文件体积变大

  • 数据恢复速度比RDB慢

RDB与AOF触发方式、优缺点具体如下:

阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台欢迎登录阿里云,全球领先的云计算及人工智能科技公司,阿里云为200多个国家和地区的企业、开发者和政府机构提供云计算基础服务及解决方案。阿里云云计算、安全、大数据、人工智能、企业应用、物联网等云计算服务。https://thoughts.aliyun.com/workspaces/62b15b0b30dfbe001a119731/docs/6288e43e0f1dae0001fd7933

四、百万Redis,key如何模糊查找?

五、Redis面试题-缓存穿透,缓存击穿,缓存雪崩

1 穿 透: 两边都不存在(皇帝的新装) (黑名单) (布隆过滤器)

2 击****穿 :一个热点的key失效了,这时大量的并发请求直接到达数据库. (提前预热)

3 雪崩 :大量key同时失效 (避免大量的key同一时间失效,错峰)

相关推荐
晨米酱5 天前
AGENTS.md:Agent 的上下文策略层
面试·架构·agent
这个DBA有点耶5 天前
MVCC深入:Read View、版本链与快照读——InnoDB并发控制的内核
数据库·mysql·架构
DBA_G5 天前
从地面到云霄:GBase数据库在民航三大场景的落地实践
数据库
自由能燃气设备5 天前
商用全预混低氮冷凝锅炉免费方案vs付费方案对比+选型避坑指南
大数据·数据库·人工智能
科创致远5 天前
科创致远 ESOP 系统核心效能与实战价值展示
大数据·数据库·人工智能·精益工程
IT大白鼠5 天前
Redis 系列 · 第 01 篇——认知入门:Redis 是什么
redis·nosql
彧azz5 天前
Linux 环境下 Redis 学习总结:数据类型、持久化、锁、事务、主从与缓存问题
linux·redis·笔记·学习·面试
2601_962218615 天前
万象生鲜系统称重自动多退少补算法解决生鲜非标品痛点
大数据·数据库·人工智能·python·算法
张洛闻Eren5 天前
k8s云原生【第十课】:水平 Pod 自动扩缩容
运维·数据库·云原生·kubernetes·github
于平安5 天前
MySQL-触发器
数据库·mysql