Redis相关面试题
Posted 三笠·阿卡曼
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Redis相关面试题相关的知识,希望对你有一定的参考价值。
Redis是单线程还是多线程
单线程:满足Redis的串行原子,只不过IO多线程之后,把输入/输出放到更多的线程中去并行,好处:
- 执行时间缩短,更快;
- 更好的压榨系统及硬件资源;
Redis存在线程安全的问题吗?为什么?
Redis可以保障内部串行化执行,但是外界使用的时候要保障线程安全的问题;
遇到过缓存穿透吗?详细描述一下?
缓存穿透:Redis中没有这个key
遇到过缓存击穿么?详细描述一下
缓存击穿:热点key过期,从而造成大量请求访问数据库,数据库有,大量的并发,Redis没有缓存
如何避免缓存雪崩?
雪崩是大量的击穿:大量的key同时过期;
缓存是如何回收的?
- 后台轮询:分段分批的删除那些过期的key;
- 请求的时候判断的时候已经过期了;
尽量把内存无用空间回收回来;
缓存是如何淘汰的?
内存空间不足的情况下:
- 淘汰机制里有不允许淘汰;
- lru/lfu/random/TTL;
- 全空间;
- 设置过期的key的集合中;
如何进行缓存预热?
- 提前把数据塞入Redis;
- 开发逻辑上也要规避差集;
数据库与缓存不一致如何解决?
- Redis是缓存,更倾向于稍微的有时差;
- 减少DB的操作;
简述一下主从不一致的问题
- Redis默认是弱一致性的,异步的同步;
- 锁不能用主从(单实例/分片集群/redlock)==> redission
- 在配置中提供了必须与多少个client连接能够同步,可以配置同步因子趋向于强一致性;
- wait
Redis持久化原理
- RDB,AOF:主从同步也算持久化,
- 当前线程阻塞服务;
- 异步后台进程完成持久化;
fork + cow
14、Redis有哪些持久化方式
RDB、AOF,
17、Redis的事务三条指令是什么?第三条指令到达之后执行失败了,如何处理?
18、为什么使用setnx
能够完成原子性的操作;
如果要做分布式锁,
以上是关于Redis相关面试题的主要内容,如果未能解决你的问题,请参考以下文章
面试者推荐 |Redis面试专题「常见问答系列」透析Redis常见技术相关的问题1~10题(基础)