• 缓存使用总结


    作为一个查询系统,效率和稳定性是系统设计的重中之重,提升效率最有效的方法无疑是缓存。
    缓存方式选取:
    1:本地缓存 (Guva Cache, map )
    2:分布式缓存(tair)
    分布式环境下,采用分布式缓存很好的解决了数据一致性问题,所有业务系统共享tair集群。但是增加了一次远程tr调用。稳定性和效率相对于本地缓存来说会低一些。

    1.JPG

    而本地缓存虽然可以减少一次tr调用,但是各服务器拥有自己的缓存数据,不是共享的,数据一致性的问题很难解决。

    2.JPG

    缓存的服务方式: 
    1:近端缓存  业务系统-> 远程tair

    2:远端缓存  业务系统->查询系统->tair

    近端

    3.JPG

    远端

    4.JPG

    近端缓存相对于远端缓存可以减少一次远程的tr调用,但是数据一致性的保证相对于远端缓存来说会有一定的困难。

    据上来看缓存最重要的问题是如何做到缓存数据与DB数据的一致性:
    缓存数据一致性解决方案:
    (1)可以采用在本服务器启动定时任务,定时刷新来保证数据的一致性。   

      定时任务实现:http://www.cnblogs.com/E-star/p/4688917.html
    (2)可以在缓存数据中添加时间戳,每次读取数据之后根据时间判断是否有效然后进行刷新。
    (3)当DB数据发生变化时,可以通过DRM方式让缓存及时刷新,保证数据的一致性。 

  • 相关阅读:
    Give root password for maintenance(or press Control-D to continue)
    docker swarm 拉2副本 及磁盘映射
    删除 Docker私有仓库镜像文件
    docker swarm 从私有仓库拉取 创建2个docker副本
    mysqldump 备份导出数据排除某张表
    node递归属性目录结构
    MySql批量更新方法
    npm 发布包
    实例学习Backbone.js(一)
    node.js中log4js的使用
  • 原文地址:https://www.cnblogs.com/E-star/p/4694192.html
Copyright © 2020-2023  润新知