一、面试注重三点:
1.为什么使用Redis?
1.性能高,读写性能在10万/s,并发量大,支持丰富的数据类型。
1.基于内存,多路复用,单线程,C语言。
2.缓解MySQL数据库压力。
3.可以持久化,rdb和aof。
4.搭建Redis集群,提高了可用性,可扩展性。
2.Redis用来做什么?
1.性能高,用作缓存
2.原子性操作,用来做分布式锁。
3.计数器,实时性好。
4.排序,
5.rocketMq消息幂等,防止重复消费。
6.缓存登陆态,token
3.Redis底层原理?
1.结构
2.aof和rdb
3.集群
4.过期策略
4.Redis优化和注意的问题?
1.大key操作,批量操作
2.缓存雪崩,击穿,穿透
3.
更好的面试总结:https://zhuanlan.zhihu.com/p/91539644
1.Redis 和 Memcached 有啥区别,为啥选择用Redis作为你们的缓存中间件?
2.redis是单线程,为什么那么快?
3.Redis有几种基础数据类型么?
说一下他们的特性,还有分别的使用场景么?
4、那他是单线程的,我们现在服务器都是多核的,那不是很浪费?
7、既然提到了单机会有瓶颈,那你们是怎么解决这个瓶颈的?
8、以及Redis是怎么进行持久化的?
7、如何解决数据库何缓存一致性问题?
8、为什么是删除缓存,而不是更新缓存?
9、Redis 的过期策略和内存淘汰机制
10、Redis 的线程模型了解么?
11、什么是缓存雪崩,缓存击穿,缓存穿透?如何处理?
12、Redis 集群分片原理
吾将上下而求索