zoukankan      html  css  js  c++  java
  • redis使用中的问题

    热key问题

    问题描述:如果50万的QPS访问同一个key怎么处理?

    缓存穿透

    问题描述:访问不存在的key,导致每次都去DB查找,从而失去了缓存的意义,也加大了DB的压力。

    造成的问题:1、失去了缓存的意义 2、访问这些key频次高的话,会加大DB压力,甚至打崩DB。

    解决方案

    1、使用布隆过滤器:将所有存在的key哈希到一个足够大的bitmap中。一个不存在的key一定能被挡住,但如果结果告诉程序某个key存在,并不一定存在(因为存在hash碰撞)。

    2、回填空值到缓存。

    缓存击穿

    问题描述:由于设置了过期时间,如果在同一时间内一个key(热key)失效,如果某些时间内被高频词访问,那么造成缓存击穿。(缓存里没有,DB里有)

    造成的问题:对DB压力过大。

     解决方案:对key加锁,先加锁,然后在读mysql,这样可防止同意时刻大量读请求到达mysql。

    缓存雪崩

    问题描述:由于设置相同的过期时间,导致同一时间内大量的key失效。

    造成的问题:DB压力过大。打崩DB。

    解决方案:设置过期时间时随机配置过期时间。

  • 相关阅读:
    POJ_1698_Alice's Chance
    透过比特币看移动互联网创业产品立项的关键要素
    localhost与127.0.0.1的区别
    web service初探
    Oracle导出DMP文件的两种方法
    html大小写问题
    浏览器端数据存储
    CSS滚动条样式设置
    浅谈forword和sendRedirect
    Poi对excel的基本操作
  • 原文地址:https://www.cnblogs.com/howo/p/12670710.html
Copyright © 2011-2022 走看看