jadestoner

导航

 

原文链接:常见面试题

本文大纲与之类似,在其基础上加入了自己在实际项目中对部分知识点的理解

Q1:谈谈对redis的理解

Q2:谈谈实际应用中怎么用redis的

2.1 缓存

2.2 分布式锁

2.3 消息队列

Q3:redis的数据类型

Q4:持久化方式,各自优缺点,

Q5: RESP

Q6:Redis 有哪些架构模式?讲讲各自的特点

单体/主从/哨兵/codis/cluster

单体:小项目,

主从:生成日志文件,减少主节点写压力,最好树状结构

哨兵:监控,故障自动转移

https://www.cnblogs.com/leeSmall/p/8398401.html

codis/cluster:集群模式

Q7:缓存异常的情景

总原则:锁啥的尽量不用

7.1 穿透:

请求数据库不存在的数据。

7.2 雪崩:

集中写缓存导致集中过期,对数据库产生周期性的压力。非致命,致命的是缓存节点宕机。

7.3 击穿:

某个key很热点,过期的瞬间,大批量访问涌入直接访问数据库

Q8: 过期策略以及内存淘汰机制

定期删除,惰性删除

Q9:其他

9.1 del批量删除

技巧  DEL 命令的参数不支持通配符,但我们可以结合Linux 的管道和xargs 命令自己 实现删除所有符合规则的键。

比如要删除所有以“user:”开头的键,就可以执行redis-cli KEYS "user:*" | xargs redis-cli DEL。

posted on 2019-03-18 15:10  jadestoner  阅读(128)  评论(0编辑  收藏  举报