面试题: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 小时前
QT软件开发知识点流程及记事本开发
服务器·开发语言·数据库·c++·qt
子夜江寒5 小时前
SQL 从基础操作到高级查询
数据库·sql
Dxy12393102165 小时前
MySQL快速入门
数据库·mysql
十月南城5 小时前
持久化与内存管理策略——RDB/AOF、淘汰策略与容量规划的决策要点
redis
NaiLuo_455 小时前
MySQL表的约束
数据库·sql·mysql
kkkkkkkkl245 小时前
彻底讲清 MySQL InnoDB 锁机制:从 Record 到 Next-Key 的全景理解
数据库·mysql
DBA小马哥5 小时前
Oracle迁移中查询优化器原理解析与实战优化策略
数据库·oracle
gugugu.5 小时前
Redis Hash类型深度解析:结构、原理与实战应用
数据库·redis·哈希算法
卓码软件测评5 小时前
第三方数据库测试:【utPLSQL用于Oracle和tSQLt用于SQL Server数据库单元测试框架入门】
数据库·oracle·sqlserver·单元测试·mssql
摇滚侠5 小时前
冒泡排序是如何排序的,图解详细说明
数据库·笔记