麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > Java > 正文

springboot hazelcast緩存中間件的實例代碼

2024-07-14 08:42:09
字體:
來源:轉載
供稿:網友

緩存來了

在dotnet平臺有自己的緩存框架,在java springboot里當然了集成了很多,而且緩存的中間件也可以進行多種選擇,向 redis , hazelcast 都是分布式的緩存中間件,今天主要說一下后者的實現。

添加依賴包

dependencies {  compile("org.springframework.boot:spring-boot-starter-cache")  compile("com.hazelcast:hazelcast:3.7.4")  compile("com.hazelcast:hazelcast-spring:3.7.4")}bootRun {  systemProperty "spring.profiles.active", "hazelcast-cache"}

config統一配置

@Configuration@Profile("hazelcast-cache")//運行環境名稱public class HazelcastCacheConfig { @Bean public Config hazelCastConfig() {  Config config = new Config();  config.setInstanceName("hazelcast-cache");  MapConfig allUsersCache = new MapConfig();  allUsersCache.setTimeToLiveSeconds(3600);  allUsersCache.setEvictionPolicy(EvictionPolicy.LFU);  config.getMapConfigs().put("alluserscache", allUsersCache);  MapConfig usercache = new MapConfig();  usercache.setTimeToLiveSeconds(3600);//超時時間為1小時  usercache.setEvictionPolicy(EvictionPolicy.LFU);  config.getMapConfigs().put("usercache", usercache);//usercache為緩存的cachename  return config; }}

添加倉儲

public interface UserRepository { List<UserInfo> fetchAllUsers(); List<UserInfo> fetchAllUsers(String name);}@Repository@Profile("hazelcast-cache")// 指定在這個hazelcast-cache環境下,UserRepository的實例才是UserInfoRepositoryHazelcastpublic class UserInfoRepositoryHazelcast implements UserRepository { @Override @Cacheable(cacheNames = "usercache", key = "#root.methodName")// 無參的方法,方法名作為key public List<UserInfo> fetchAllUsers(){  List<UserInfo> list = new ArrayList<>();  list.add(UserInfo.builder().phone("135").userName("zzl1").createAt(LocalDateTime.now()).build());  list.add(UserInfo.builder().phone("136").userName("zzl2").createAt(LocalDateTime.now()).build());  return list; } @Override @Cacheable(cacheNames = "usercache", key = "{#name}") // 方法名和參數組合做為key public List<UserInfo> fetchAllUsers(String name) {  List<UserInfo> list = new ArrayList<>();  list.add(UserInfo.builder().phone("135").userName("zzl1").createAt(LocalDateTime.now()).build());  list.add(UserInfo.builder().phone("136").userName("zzl2").createAt(LocalDateTime.now()).build());  return list; }}

配置profile

application.yml開啟這個緩存的環境

profiles.active: hazelcast-cache

運行程序

可以在單元測試里進行測試,調用多次,方法體只進入一次,這就是緩存成功了。

@ActiveProfiles("hazelcast-cache")public class UserControllerTest extends BaseControllerTest { @Test public void fetchUsers() {  getOk();  //test caching  getOk(); } private WebTestClient.ResponseSpec getOk() {  return http.get()    .uri("/users/all/zzl")    .exchange()    .expectStatus().isOk(); }}

總結

以上所述是小編給大家介紹的springboot hazelcast緩存中間件的實例代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VeVb武林網網站的支持!


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产精品呻吟 | 久久99精品久久久久久国产越南 | 中文字幕一区在线观看视频 | 亚洲一二三久久 | 一级国产电影 | 欧美日韩免费在线观看视频 | 久久久噜噜噜久久熟有声小说 | 一级黄色欧美 | 中国av中文字幕 | 国产精品午夜小视频观看 | 久久精品视频亚洲 | 久久久久久久久久久国产精品 | 国产精品99久久久久久宅女 | 成人aaaaa片毛片按摩 | 日韩中文字幕三区 | 欧美亚洲免费 | 久久国产精品二国产精品 | 狠狠干91| 欧美精品一级 | 久久久精品网 | 久久免费毛片 | 成人福利视频在 | 久久91久久久久麻豆精品 | 国产片91| 国产精品91久久久 | 精品亚洲夜色av98在线观看 | 亚洲第一黄色网 | 欧美亚洲一区二区三区四区 | 一级片久久免费 | 久久精品a一级国产免视看成人 | 黄色a级片视频 | 国产精品夜色视频一级区 | 在线看日本 | 日韩精品一区二区三区中文 | 国产精品视频亚洲 | 综合国产在线 | 国产精品一区二区三区在线 | 免费国产在线视频 | 欧美综合在线观看视频 | 欧美激情精品久久久久 | 久久精品99北条麻妃 |