zoukankan      html  css  js  c++  java
  • dubbo 5 消费端声明式缓存

        为了进一步提高消费者对用户的响应速度,减轻提供者的压力,Dubbo提供了基于结果的声明式缓存。该缓存是基于消费者端的,所以使用很简单,只需修改消费者配置文件,与提供者无关

    一、Dubbo中缓存策略

    • lru 基于最近最少使用原则删除多余缓存,保持最热的数据被缓存。
    • threadlocal 当前线程缓存,比如一个页面渲染,用到很多portal,每个portal都要去查用户信息,通过线程缓存,可以减少这种多余访问。
    • jcache 与JSR107集成,可以桥接各种缓存实现。

    二、创建消费者07-consumer-cache

    (1) 创建工程

    直接复制02-consumer-zk工程,并命名为07-consumer-cache

    (2) 修改消费者配置文件

    类级别

    方法级别

    (3) 修改RunConsumer类

    4)默认缓存1000个结果

        默认可以缓存1000个结果。若超出1000,将采用LRU策略来删除缓存,以保证最热的数据被缓存。注意,该删除缓存的策略不能修改。
    直接在07-consumer-cache工程中创建ConsumerRun2类

    三、创建生成者(服务提供方)07-provider-cache

    (1) 创建工程

    直接复制02-provider-zk工程,并命名为07-provider-cache

    (2) 修改配置文件

    (3) 实现类

     

    四、效果

    (1)缓存测试

     

    服务提供方只被调用了2次,其余2次因为已经缓存了,所以直接返回了缓存数据

    (2)缓存个数测试

    超过1000的被挤掉了,新数据加入

  • 相关阅读:
    10月27号
    10月23号
    10月26号
    10月30号
    10月28号
    10月29号
    JAVA日报
    JAVA日报
    JAVA日报
    JAVA日报
  • 原文地址:https://www.cnblogs.com/hup666/p/13466581.html
Copyright © 2011-2022 走看看