redis面试问题总结

本文介绍了Redis作为内存数据库的优势,如快速、高并发,并详细阐述了其高级特性,包括弱事务支持、慢查询管理和批量处理。同时,讨论了Redis的持久化机制AOF和RDB,以及应对数据淘汰的策略。此外,还提及了Redis面临的雪崩、击穿和穿透问题及其解决方案。
摘要由CSDN通过智能技术生成

一、为什么要用redis

1、redis 快
纯内存运行。
单线程处数据。
多路IO复用技术。
数据存储结构底层全局hash表
2、redis并发高。
redis 集群并发度高对比单 mysql 支持并发量1000左右
单redis并发能到10W左右。如果不够可以加分片集群。

二、redis 有那些高级功能

1、redis 支持弱事务
全部执行或者全部不执行。
redis 支持一定的原子性。但是不具备回滚功能。
redis 不具备acid中一致性的概念
redis 具备隔离性
redis 无法保证持久性
说明的时候由入队的前中后的顺序去说明

2、慢查询
通常查询比较慢的 keys * hgetall cs flush all
slow-log-slower-then 选项指定执行时间超过多少微妙
slowlog-max-len 最多保留多少条慢sql

3、pipeline
支持管道批量处理。
使用jedispool 连接池,节省了建立连接connnetion时间。
减少rtt
要消耗大量内存建议1W条内执行
只能执行连续且无关的命令。

三、redis 雪崩、击穿、穿透

穿透
热key 过期
击穿
客户大量请求未知的key
雪崩
大量key失效

四、AOF和rdb文件

rdb文件

AOF 是以实时追加的方式持久化数据的。会导致AOF文件过大 IO出现问题。
AOF重写fork一个子进程(先重构文件 读取当前redis数据写入到aof文件里面 覆盖源文件)重写过程中的数据需要追加到AOF文件中(写入到重写缓冲区)

五、redis 淘汰算法

达到maxmemory 达到这个参数的上线
lru 算法移除最近最少使用的key。
redis4.0之后特性 lfu维持双向链表(比lru更复杂)

六、redis 数据类型

1、字符类型
2、hash
3、列表
4、集合
5、有序集合
6、发布订阅

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值