zoukankan      html  css  js  c++  java
  • 高性能的大型系统经验 -- 将数据分类、并缓存

        对大多数大型系统而言,数据库往往是最容易出现瓶颈的地方,而通过使用恰当的缓存技术可以非常有效地减轻数据库的负载。
        
        将系统中用到的所有数据进行分类,分别对待不同种类的数据而不是一视同仁,有利于正确地做出缓存哪些数据、以及如何缓存的决策。

        我通常将系统中用到的数据分为四类:恒定不变的数据,只发生增量的数据,偶尔改变的数据,经常改变的数据。

    (1)对于恒定不变的数据,采用普通的恒定缓存,即这种缓存在系统启动后初始化一次就不再改变了。
    (2)对于只发生增量的数据,采用智能式的增量缓存,如果所要的数据在这种缓存中不存在,则该缓存会从其它地方(如数据库)自动加载目标对象并缓存起来。
    (3)对于偶尔改变的(但不是十分敏感的)数据,采用定时刷新的缓存,如每隔10分钟刷新一次。
    (4)对于经常改变的数据,则又可以进一步细分:
           将数据中变动部分和非变动部分区分开来,而非变动部分又可以封装为单独的对象,从而对该“部分”对象采用上述三种方式之一进行缓存。

        如此,便可最大程度的利用缓存,从而可以有效提高系统性能,并明显减轻数据库和网络负载。

  • 相关阅读:
    面试题-代码
    面试题-数仓
    烂大街的NginxRedisMqDb架构.md
    Ansible-B站.md
    openstack.md
    rabbitMQ.md
    大数据仓库实战项目-电商数仓3.0版.md
    linux分析工具之top命令详解
    小程序开发中 在 wxml格式化 属性断行
    redhat 7.2更新yum源时踩的坑
  • 原文地址:https://www.cnblogs.com/zhuweisky/p/1231316.html
Copyright © 2011-2022 走看看