你好,是我 PHP 程序员面试笔试系列图书的作者琉忆。
之前我从网上收集了 116 道 Redis 面试题,并且对这些面试题重新整理、解答,我发现网上有些 Redis 面试题答案是错的,所以我直接对这些面试题重新整理了答案,拒绝直接 copy 网上的答案。
作为一个后端开发人员,不只是要求开发人员需要掌握 Redis,也要求运维人员也要懂 Redis。由于 Redis 的运用广泛,我们也知道它的重要性,至此面试中经常被问到。
在这 116 道 Redis 面试题中,考察知识点包括基础、数据结构指令、高并发处理、持久化、集群、复制、Redis 应用等。在这份 116 道题中都反应出来了。
如果你最近在准备面试或者在学习 Redis,我相信本次 Chat 可以满足你的面试需要。也希望我花了半个月整理的这些题目,解答对你有所帮助。
在本次 Chat 中,你可以收获以下内容:
- 什么是 Redis?
- Redis 的数据类型?
- 使用 Redis 有哪些好处?
- Redis 相比 Memcached 有哪些优势?
- Memcache 与 Redis 的区别都有哪些?
- Redis 是单进程单线程的?
- 一个字符串类型的值能存储最大容量是多少?
- Redis 的持久化机制是什么?各自的优缺点?
- Redis 常见性能问题和解决方案:
- Redis 过期键的删除策略?
- Redis 的回收策略(淘汰策略)?
- 为什么 Redis 需要把所有数据放到内存中?
- Redis 的同步机制了解么?
- Pipeline 有什么好处,为什么要用 pipeline?
- 是否使用过 Redis 集群,集群的原理是什么?
- Redis 集群方案什么情况下会导致整个集群不可用?
- Redis 支持的 Java 客户端都有哪些?官方推荐用哪个?
- Jedis 与 Redisson 对比有什么优缺点?
- Redis 如何设置密码及验证密码?
- 说说 Redis 哈希槽的概念?
- Redis 集群的主从复制模型是怎样的?
- Redis 集群会有写操作丢失吗?为什么?
- Redis 集群之间是如何复制的?
- Redis 集群最大节点个数是多少?
- Redis 集群如何选择数据库?
- 怎么测试 Redis 的连通性?
- 怎么理解 Redis 事务?
- Redis 事务相关的命令有哪几个?
- Redis key 的过期时间和永久有效分别怎么设置?
- Redis 如何做内存优化?
- Redis 回收进程如何工作的?
- 都有哪些办法可以降低 Redis 的内存使用情况呢?
- Redis 的内存用完了会发生什么?
- 一个 Redis 实例最多能存放多少的 keys?List、Set、Sorted Set 他们最多能存放多少元素?
- MySQL 里有 2000w 数据,redis 中只存 20w 的数据,如何保证 redis 中的数据都是热点数据?
- Redis 最适合的场景?
- 假如 Redis 里面有 1 亿个 key,其中有 10w 个 key 是以某个固定的已知的前缀开头的,如果将它们全部找出来?
- 如果有大量的 key 需要设置同一时间过期,一般需要注意什么?
- 使用过 Redis 做异步队列么,你是怎么用的?
- 使用过 Redis 分布式锁么,它是什么回事?
- Redis 支持那几种数据结构,底层原理解释一下
- Redis 有哪几种数据淘汰策略
- Redis 集群方案应该怎么做,有哪些方案
- Redis 和 Redisson 有什么关系
- Redis 与 Redisson 对比有什么优缺点
- Redis 中管道有什么用
- Redis 回收内存使用的什么算法
- Redis 如何做大量数据插入
- 为什么要做 Redis 分区,有哪些 Redis 分区实现方案,Redis 分区有什么缺点
- Redis 持久化数据和缓存怎么做扩容
- 分布式 Redis 是前期做还是后期规模上来了再做好,为什么
- Twemproxy 是什么
- Redis 的内存占用情况怎么样
- Redis 是单线程的,如何提高多核 CPU 的利用率
- Redis 是单线程的是怎么做到高并发的
- Redis 提供了哪几种持久化方式,如何选择合适的持久化方式
- 修改配置不重启 Redis 会实事生效吗
- 数据库和 Redis 缓存双写不一致的问题怎么解决的
- Redis 的过期策略怎么设计比较合理
- 发生缓存雪崩、缓存击穿、缓存穿透的问题分别有什么解决方案
- 缓存预热、缓存热备、缓存降级的高可用技术手段了解吗?
- 使用 Redis,设计一下在交易网站首页展示当天最热门售卖商品的前五十名商品列表?
- Redis 为什么设计成单线程的?
- 什么是缓存穿透?怎么解决?
- 什么是缓存雪崩? 怎么解决?
- 缓存的更新策略有几种?分别有什么注意事项?
- 请介绍几个可能导致 Redis 阻塞的原因
- 怎么去发现 Redis 阻塞异常情况?
- 如何实现本地缓存?请描述一下你知道的方式。
- Redis 通讯协议是什么?有什么特点?
- Redis 常用的命令有哪些?
- Redis 各个数据类型最大存储量分别是多少?
- 请介绍一下 Redis 的数据类型 SortedSet(zset)以及底层实现机制?
- 什么是 Redis 事务?原理是什么?
- Redis 事务的注意点有哪些?
- Redis 为什么不支持回滚?
- Redis 集群架构模式有哪几种?
- Redis 慢查询是什么?通过什么配置?
- Redis 的慢查询修复经验有哪些?怎么修复的?
- 如何优化 Redis 服务的性能?
- ......
总共包括 116 道题。由于题目太多,在此就不一一罗列了。
适合人群: 正在找工作的后端、运维的人员、正在学习 Redis 的程序员等。
阅读全文: http://gitbook.cn/gitchat/activity/5e63b02e0d1d1763d69194d5
您还可以下载 CSDN 旗下精品原创内容社区 GitChat App ,阅读更多 GitChat 专享技术内容哦。