1.在项目中缓存是如何使用的?缓存如果使用不当会造成什么后果?
1.1 项目中缓存是如何使用的?
项目场景:
1.2为啥在项目里要用缓存呢?
用缓存,主要两个用途,高性能和高并发
(1)高性能
(2)高并发
1.3 用了缓存之后会有什么不良后果?
2.redis和memcached有什么区别?redis的线程模型是什么?为什么单线程的redis比多线程的memcached效率要高得多(为什么redis是单线程得但是还可以支撑高并发)?
2.1 .redis和memcached
2.2 redis的线程模型(工作原理)
(1)描述
(2)原理图解
2.3为什么redis单线程模型也能效率那么高?
3.redis都有哪些数据类型?分别在哪些场景下使用比较合适?
string,list,hash,set,zset
4.redis的过期策略能介绍下?内存淘汰机制都有哪些?要不你再手写一个LRU?
4.1 设置过期时间
4.2 内存淘汰
4.3 手写一个LRU
5.如何保证redis的高并发和高可用?reids的主从复制原理能介绍下么?redis哨兵原理能介绍下么?
主从复制:https://blog.csdn.net/java_shm/article/details/108186536
- 建立连接阶段(即准备阶段)
- 数据同步阶段
- 命令传播阶段
哨兵原理:https://blog.csdn.net/java_shm/article/details/108191805
- 监控
- 通知
- 故障转移
6.怎么保证redis挂掉后再重启数据可以进行恢复?
RDB与AOF
7.你能聊聊redis cluster集群模式的原理吗?
redis cluster集群:https://blog.csdn.net/java_shm/article/details/108211648
8.你能说说我们一般如何应对缓存雪崩以及穿透问题吗?
缓存雪崩现象
如何解决缓存雪崩
缓存穿透现象及解决方案
9.如何保证缓存与数据库双写时的数据一致性?
10.你能说说redis的并发竞争问题该如何解决吗?
解决方案:
11.你们公司生产环境中的redis是怎么部署的?
12.分布式缓存相关问题面试回答技巧?
申明:内容来自网络,仅供学习使用
参考:https://www.bilibili.com/video/BV1FE411y79Y