使用 Redis ,这些问题你考虑了吗

简单的事情,便不那么简单!
把redis作为缓存使用已经是司空见惯,但是使用redis后经典的几个问题如下:

缓存和数据库间数据一致性问题

缓存穿透

  • 当根据Redis key在缓存中查询后,不存在对应Value,就应该会在后端系统如DB中去查找,该Key的并发请求量一旦变大,那么就会对DB造成很大的压力
  • 解决办法有:
    • nginx、或者业务层风险控制,将恶意穿透情况排除在外;
    • 对查询结果为空的情况依然进行缓存,但缓存时间会设置得很短,一般是几分钟;

缓存击穿问题(单个key被高并发)

缓存雪崩问题(多个key被高并发)

缓存失效:

  • 按时失效
  • 事件失效
  • 后端主动更新

你可能感兴趣的:(使用 Redis ,这些问题你考虑了吗)