欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java中的JetCache?實戰(zhàn)

 更新時間:2022年04月22日 10:13:12   作者:??心城以北????  
這篇文章主要介紹了Java中的JetCache實戰(zhàn),JetCache是一個基于Java的緩存系統(tǒng)封裝,提供統(tǒng)一的API和注解來簡化緩存的使用,下文更多相關資料需要的小伙伴可以參考一下

1.JetCache 是什么?

JetCache是一個基于Java的緩存系統(tǒng)封裝,提供統(tǒng)一的API和注解來簡化緩存的使用。 JetCache提供了比SpringCache更加強大的注解,可以原生的支持TTL、兩級緩存、分布式自動刷新,還提供了Cache接口用于手工緩存操作。 當前有四個實現(xiàn),RedisCache、TairCache(此部分未在github開源)、CaffeineCache(in memory)和一個簡易的LinkedHashMapCache(in memory),要添加新的實現(xiàn)也是非常簡單的。

全部特性:

  • 通過統(tǒng)一的API訪問Cache系統(tǒng)
  • 通過注解實現(xiàn)聲明式的方法緩存,支持TTL和兩級緩存
  • 通過注解創(chuàng)建并配置Cache實例
  • 針對所有Cache實例和方法緩存的自動統(tǒng)計
  • Key的生成策略和Value的序列化策略是可以配置的
  • 分布式緩存自動刷新,分布式鎖 (2.2+)
  • 異步Cache API (2.2+,使用Redis的lettuce客戶端時)
  • Spring Boot支持

2.使用方法

  • 添加依賴
 ? ?// redis
 ? ?implementation 'org.springframework.boot:spring-boot-starter-data-redis'
 ? ?implementation 'org.apache.commons:commons-pool2'
?
 ? ?// jetcache
 ? ?implementation 'com.alicp.jetcache:jetcache-starter-redis:2.6.2'
  • 配置 yml
jetcache:
  statIntervalMinutes: 15
  areaInCacheName: false
  local:
 ?  default:
 ? ?  type: linkedhashmap
 ? ?  keyConvertor: fastjson
  remote:
 ?  default:
 ? ?  type: redis
 ? ?  keyConvertor: fastjson
 ? ?  valueEncoder: java
 ? ?  valueDecoder: java
 ? ?  poolConfig:
 ? ? ?  minIdle: 5
 ? ? ?  maxIdle: 20
 ? ? ?  maxTotal: 50
 ? ?  host: 127.0.0.1
 ? ?  port: 6379
  • 然后創(chuàng)建一個App類放在業(yè)務包的根下,EnableMethodCacheEnableCreateCacheAnnotation這兩個注解分別激活Cached和CreateCache注解,其他和標準的Spring Boot程序是一樣的。這個類可以直接main方法運行。
package io.zhengsh.order;
?
import com.alicp.jetcache.anno.config.EnableCreateCacheAnnotation;
import com.alicp.jetcache.anno.config.EnableMethodCache;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
?
@MapperScan("io.zhengsh.order.mapper")
@SpringBootApplication
@EnableMethodCache(basePackages = "io.zhengsh.order.service")
@EnableCreateCacheAnnotation
public class OrderApplication {
?
 ? ?public static void main(String[] args) {
 ? ? ? ?SpringApplication.run(OrderApplication.class);
 ?  }
}
  • 業(yè)務類上增加注解使用,業(yè)務類代碼如下:
public interface OrderService {
?
 ? ?OrderVo get(Long id);
?
 ? ?OrderVo createOrder(OrderDto orderDto);
}
?
// 實現(xiàn)類
@Service
public class OrderServiceImpl implements OrderService {
?
 ? ?private Logger logger = LoggerFactory.getLogger(OrderServiceImpl.class);
?
 ? ?@Override
 ? ?public OrderVo get(Long id) {
 ? ? ? ?logger.info("OrderService#get invoke!");
 ? ? ? ?Order orderVo = ?new OrderVo();
 ? ? ? ?orderVo.setCode("100");
 ? ? ? ?return orderVo;
 ?  }
?
 ? ?@Override
 ? ?public OrderVo createOrder(OrderDto orderDto) {
 ? ? ? ?logger.info("OrderService#createOrder invoke!");
 ? ? ? ?return null;
 ?  }
}
  • 測試代碼
@SpringBootTest
class OrderServiceTest {
?
 ? ?private Logger logger = LoggerFactory.getLogger(OrderServiceTest.class);
?
 ? ?@Autowired
 ? ?private OrderService orderService;
?
 ? ?@Test
 ? ?void get() {
 ? ? ? ?OrderVo orderVo = orderService.get(100L);
 ? ? ? ?logger.info("orderVo#code : {} ", orderVo.getCode());
?
 ? ? ? ?OrderVo orderVo1 = orderService.get(100L);
 ? ? ? ?logger.info("orderVo#code : {} ", orderVo1.getCode());
 ?  }
?
 ? ?@Test
 ? ?void createOrder() {
 ?  }
}

輸出如下:

?// 輸出
// OrderService#get invoke!
// orderVo#code : 100
// orderVo#code : 100

到此這篇關于Java中的JetCache 實戰(zhàn)的文章就介紹到這了,更多相關Java中的JetCache內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Java Swing JToggleButton開關按鈕的實現(xiàn)

    Java Swing JToggleButton開關按鈕的實現(xiàn)

    這篇文章主要介紹了Java Swing JToggleButton開關按鈕的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-12-12
  • SkyWalking?自定義插件(Spring?RabbitMQ)具體分析過程

    SkyWalking?自定義插件(Spring?RabbitMQ)具體分析過程

    這篇文章主要介紹了SkyWalking?自定義插件(Spring?RabbitMQ)具體分析過程,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-02-02
  • 深入理解Java設計模式之建造者模式

    深入理解Java設計模式之建造者模式

    這篇文章主要介紹了JAVA設計模式之建造者模式的的相關資料,文中示例代碼非常詳細,供X大家參考和學習,感興趣的朋友可以了解下
    2021-11-11
  • Java 生成隨機驗證碼圖片的示例

    Java 生成隨機驗證碼圖片的示例

    這篇文章主要介紹了Java 生成隨機驗證碼圖片的示例,幫助大家更好的理解和使用Java,感興趣的朋友可以了解下
    2020-10-10
  • Java GUI進階之流式布局管理器FlowLayout專項精講

    Java GUI進階之流式布局管理器FlowLayout專項精講

    FlowLayout-流式布局管理器,按水平方向依次排列放置組件,排滿一行,換下一行繼續(xù)排列。排列方向(左到右 或 右到左)取決于容器的componentOrientation屬性
    2022-04-04
  • java實現(xiàn)仿射密碼加密解密

    java實現(xiàn)仿射密碼加密解密

    這篇文章主要為大家詳細介紹了java實現(xiàn)仿射密碼加密解密的相關資料,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-03-03
  • Mybatis環(huán)境搭建和使用實例代碼

    Mybatis環(huán)境搭建和使用實例代碼

    MyBatis 是一款優(yōu)秀的持久層框架,它支持定制化 SQL、存儲過程以及高級映射。本文重點給大家介紹Mybatis的環(huán)境搭建和使用實例代碼,需要的朋友參考下吧
    2017-12-12
  • SpringBoot整合Scala構建Web服務的方法

    SpringBoot整合Scala構建Web服務的方法

    這篇文章主要介紹了SpringBoot整合Scala構建Web服務的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-03-03
  • 詳解如何用Java去除HTML標簽

    詳解如何用Java去除HTML標簽

    在平時工作中,偶爾會用 Java 做一些解析HTML的工作。有時需要刪除所有的HTML標簽,只保留純文字內(nèi)容。這個問題在做過一些爬蟲工作的朋友來說很簡單。下面來說說,我們平時使用到的集中解析的方法
    2022-12-12
  • java算法題解Leetcode763劃分字母區(qū)間示例

    java算法題解Leetcode763劃分字母區(qū)間示例

    這篇文章主要為大家介紹了java算法題解Leetcode763劃分字母區(qū)間示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-01-01

最新評論