枫叶上的雨露 2020-01-09
1.为什么要用分布式缓存
高并发、高性能
2.Redis和Memcached
Redis:线程模型-单线程工作模型,文件事件处理器,非阻塞单路复用,纯内存
3.Redis有哪些数据类型?分别适用于哪些场景?
string 简单kv缓存
hash 结构化数据
list 有序列表
set 自动去重
sorted set 去重可排序
4.Redis过期策略
定期删除(默认100ms)+惰性删除
内存淘汰机制:noeviction、allkeys-lru、allkeys-random、volatile-lru、volatile-random、volatile-ttl
5.如何保证Redis高并发、高可用
单机redis QPS 上万~几万,支撑10万+需采用主从架构、读写分离
主从复制原理
哨兵sentinel架构:集群监控、消息通知、故障转移、配置中心
6.Redis cluster原理
7.缓存雪崩(加一层ehcache)、穿透问题(DB不存在的数据也写缓存值)
8.缓存与DB一致性问题
9.并发竞争问题
分布式锁
——来源于石杉码农学院