zoukankan      html  css  js  c++  java
  • 适合引入缓存的业务及影响

    1、频繁读的请求

    优化思路:

    增加缓存(所有人看到的数据一样,适合做缓存),常用redis进行缓存,

    带来问题:

    易增加网络IO消耗,网络存在抖动时,缓存无效,且在网络恢复后,大量请求,易把redis击穿;

    解决方案:

    在java层加本地缓存,设定过期时间(一般5s),

    整体思路:

    硬盘的读->内存读->网络缓存->本地缓存

    2、频繁的写请求

    优化思路:

    使用kafak消息队列,将并发写操作,换成串行操作,将实时一致性,换成最终一致性

    带来问题:

    对mysql写造成一定压力,写动作持续时间长,导致主从同步差,读性能降低

    解决方案:

    针对多条数据变更,但实际是操作一条数据,进行合并写的操作

    3、写完之后马上读数据,数据的强一致性

    该业务不适合用缓存,采用分库形式,分散写数据的压力

  • 相关阅读:
    802.11帧
    art中的部分内容,留着慢慢研究
    802.11基础知识
    opkg
    openwrt生成备份文件
    lua中获取时间
    php学习四:数组(一)
    php学习三:函数
    php学习二:表达式
    php学习一:语法规则
  • 原文地址:https://www.cnblogs.com/mmfox/p/15129939.html
Copyright © 2011-2022 走看看