当前位置: 首页 > news >正文

婚纱摄影介绍文山seo公司

婚纱摄影介绍,文山seo公司,网站建设基本知识,网站点击代码Redis 缓存穿透 定义:redis查询一个不存在的数据,导致每次都查询数据库 解决方案: 如果查询的数据为空,在redis对应的key缓存空数据,并设置短TTL。 因为缓存穿透通常是因为被恶意用不存在的查询参数进行压测攻击&…

Redis

缓存穿透

  • 定义:redis查询一个不存在的数据,导致每次都查询数据库

  • 解决方案:

    1. 如果查询的数据为空,在redis对应的key缓存空数据,并设置短TTL。

      因为缓存穿透通常是因为被恶意用不存在的查询参数进行压测攻击,所以采取这种方式会导致大量的无用空间被占用,所以不推荐。

    2. 布隆过滤器,因为哈希冲突,所以可能误判(计算出的下标位置会出现重复,导致不存在的元素被错误地判定为存在),实现框架:RedissonGuava

      1. bitmap(位图):一个以bit为单位的数组,只存储二进制01

      2. 原理:对于一个给定的 key,通过多个不同的 hash 函数 计算得到多个 hash 值,每个 hash 值对 m(bitmap 的大小) 进行 取模运算,得到对应的 bitmap 下标位置,并将这些位置的 bit 值设置为 1。读取时,只需要判断其对应的多个下标位置的元素值是否都为1即可

      3. 如何控制误判率?调整参数:bitmap数组长度m、哈希函数个数k、元素数量n

      4. 支持删除操作吗?不支持,除非使用计数型布隆过滤器(整数数组,存计数值,即添加操作+1,删除操作-1,如果所有计数值都大于0时,元素才可能存在)

      5. 布隆过滤器相比使用 set 的优点?

        • 空间占用: 布隆过滤器相比 set 可以显著节省空间,因为它不存储完整的元素,而是通过哈希映射到bit位

          查询速度: 布隆过滤器通过少量哈希计算(O(k))就能快速判断元素是否存在,在元素数量非常多时,可能比set数据更快,因为set可能需要遍历链表/红黑树

        • bitmap都是01数据,适合集合运算(交、并、补)

缓存击穿

  • 定义:给一个key设置过期时间,当key过期时,恰好对这个key有大量并发请求,在重建缓存这段时间可能导致数据库压力过大

  • 如何检测?监控 Redis 的 keyspace_hits(命中缓存次数)keyspace_misses(未命中缓存次数),计算命中率

  • 解决方案:

    1. 互斥锁(保证强一致性):在Redis查询缓存未命中时,添加互斥锁,然后查询数据库并重建缓存,再释放锁
    2. 逻辑过期+互斥锁(高效):对热点key不设置过期时间,而是给对应的数据添加一个过期时间的字段。过程:
      1. 在查询缓存时发现逻辑时间已经过期,此时添加互斥锁
      2. 开启新子线程:查询数据库并重建缓存,释放互斥锁
      3. 主线程和其他发起请求的线程不需要等待该子线程(trylock),而是直接返回过期数据

缓存雪崩

  • 定义:在同一时段大量的缓存key同时失效或者Redis服务宕机,导致数据库压力过大
  • 解决方案:
    1. key失效:给不同key的TTL的原值加上随机值
    2. 服务宕机Redis集群
    3. 通用:降级限流(nginx或spring cloud gateway),多级缓存

双写一致性

  • 定义:数据库中的数据需要与Redis中的数据保持一致

  • 问题:

    1. 先删除缓存再操作数据库:在删除完缓存操作数据库这段期间,另一个线程重建完缓存
    2. 先操作数据库再删除缓存:在查询完数据库重建缓存这段期间,另一个线程修改了数据库并删除缓存。
  • 高一致性实现方案:

    1. 延迟双删:删除缓存,修改数据库,延迟一会再删除缓存,延迟的原因是等待数据库master同步到slave 。该方法的问题是延迟时间很难确定

    2. 读数据时添加共享锁:其他线程可共享读操作

      写数据时添加排他锁:阻塞其他线程读写操作

  • 弱一致性实现方案:

    1. MQ:修改数据库时,发布消息到mq中,由消费者来删除缓存只能保证redis操作的可靠性
    2. Canal:监听mysqlbinlog(日志文件),把更新后的日志同步到redis里面
http://www.cadmedia.cn/news/12765.html

相关文章:

  • 视频网站 如何做seo怎么自己做网站
  • 建设企业网站管理的重要性百度百科官网
  • 江苏建设监理网站百度快照怎么弄
  • 学校网站建设实训网络优化有前途吗
  • 乐从网站制作福建企业seo推广
  • 大型网站开发百度推广一年收费标准
  • 广州公司建设网站网店代运营的套路
  • 免费下载软件的网站有哪些网络推广一个月的收入
  • 自己做个网站需要什么seo短视频保密路线
  • 设计公司组织架构seo怎么读
  • 泰州网站建设价格seo博客
  • 浙江省住建和城乡建设厅官方网站近期的新闻热点
  • 做房地产需要做网站吗武汉网站推广
  • 做文交所的都有哪些网站google下载安卓版下载
  • 2014网站建设公司搭建网站
  • 网站推广渠道怎么做怎么做网站
  • 沧浪网站建设方案全国人大常委会委员长
  • 广州市建设企业网站报价旺道seo推广有用吗
  • 郉台网站建设湖南搜索引擎推广平台
  • wordpress手机版中文seo投放营销
  • 中国十大门窗品牌长沙seo网站优化
  • 网页设计及网站建设的相关概念网站有吗免费的
  • 在征婚网站上认识做期货免费的网站平台
  • 网站建设明薇通网络售后好哈尔滨优化网站公司
  • 上海企业免费建站合肥网站建设程序
  • 济南莱芜最新消息东莞网站关键词优化排名
  • 工商营业执照注册网站友情链接论坛
  • 建设网站需要注意什么问题网络营销的方法有哪些
  • 可以看那种东西的手机浏览器南昌网站优化公司
  • 网站建设好了怎么发布南宁百度推广代理商