Redis有哪几种数据类型

  1. 字符串String
  2. 列表List
  3. 集合Set
  4. 有序集合ZSet
  5. 哈希

Redis怎么获取值

  • GET
  • GETRANGE
  • MGET
  • GETSET

用过哪些缓存,大面积Key失效称作什么?

用过Redis、Memcache,大面积Key失效称作 缓存雪崩

什么是缓存雪崩、缓存击穿及缓存穿透?如何应对?

  • 缓存雪崩:大面积Key失效导致数据库压力剧增,应对方法
  • Key失效时间设置随机值,防止同时失效
  • 缓存指向分布式数据库,以分担数据库压力
  • 热点数据设置为用不过期
  • 缓存击穿:缓存无,数据库有。高并发访问下缓存失效导致数据库压力剧增,应对方法
  • 热点数据设置为用不过期
  • 使用互斥锁对数据库访问限流
  • 缓存穿透:缓存无,数据库无。如非法访问。
  • 对接口增加校验,拦截非法数据
  • 对无值对Key缓存null值

Redis的应用场景

  1. 缓存-热数据
  2. 计数器incrby
  3. 队列
  4. 位操作 setbit getbit bitcount
  5. 分布式锁与单线程机制 秒杀
  6. 最新列表 list
  7. 排行榜 zset

Redis如何应将业务操作转为原子性操作