Redis有哪几种数据类型
- 字符串String
- 列表List
- 集合Set
- 有序集合ZSet
- 哈希
Redis怎么获取值
- GET
- GETRANGE
- MGET
- GETSET
用过哪些缓存,大面积Key失效称作什么?
用过Redis、Memcache,大面积Key失效称作 缓存雪崩
什么是缓存雪崩、缓存击穿及缓存穿透?如何应对?
- 缓存雪崩:大面积Key失效导致数据库压力剧增,应对方法
- Key失效时间设置随机值,防止同时失效
- 缓存指向分布式数据库,以分担数据库压力
- 热点数据设置为用不过期
- 缓存击穿:缓存无,数据库有。高并发访问下缓存失效导致数据库压力剧增,应对方法
- 热点数据设置为用不过期
- 使用互斥锁对数据库访问限流
- 缓存穿透:缓存无,数据库无。如非法访问。
- 对接口增加校验,拦截非法数据
- 对无值对Key缓存null值
Redis的应用场景
- 缓存-热数据
- 计数器incrby
- 队列
- 位操作 setbit getbit bitcount
- 分布式锁与单线程机制 秒杀
- 最新列表 list
- 排行榜 zset
Redis如何应将业务操作转为原子性操作