国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - springboot緩存的使用實踐

springboot緩存的使用實踐

2021-05-07 11:06luckyxl029 Java教程

這篇文章主要介紹了springboot緩存的使用,spring針對各種緩存實現,抽象出了CacheManager接口,用戶使用該接口處理緩存,而無需關心底層實現,感興趣的小伙伴們可以參考一下

spring針對各種緩存實現,抽象出了cachemanager接口,用戶使用該接口處理緩存,而無需關心底層實現。并且也可以方便的更改緩存的具體實現,而不用修改業務代碼。下面對于在springboot中使用緩存做一簡單介紹:

1、添加依賴

?
1
2
3
4
<dependency>
  <groupid>org.springframework.boot</groupid>
  <artifactid>spring-boot-starter-cache</artifactid>
</dependency>

2、在配置類里開啟緩存,如下圖所示:

springboot緩存的使用實踐

3、在需要使用緩存的方法上加上注解,如下:

?
1
2
3
4
5
6
7
8
@override
  //@cacheput 該注解會將方法的返回值緩存起來,其中緩存名字是 people,數據的key是person的id
  @cacheput(value = "people", key = "#person.id")
  public person save(person person) {
    person p = personrepository.save(person);
    system.out.println("為id、key為:"+p.getid()+"數據做了緩存");
    return p;
  }
?
1
2
3
4
5
6
7
@override
  //@cacheevict 該注解會刪除people緩存中key為id 的數據
  @cacheevict(value = "people", key = "#id")
  public void remove(long id) {
    system.out.println("刪除了id、key為"+id+"的數據緩存");
    //這里不做實際刪除操作
  }
?
1
2
3
4
5
6
7
8
9
@override
  //@cacheable 該注解會在方法執行時,判斷緩存people中key為#person.id
的緩存是否存在,如果存在,則直接返回緩存中的數據。如果不存在,則會查數據庫,然后將返回結果緩存起來。
  @cacheable(value = "people", key = "#person.id")
  public person findone(person person) {
    person p = personrepository.findone(person.getid());
    system.out.println("為id、key為:"+p.getid()+"數據做了緩存");
    return p;
  }

以上幾部就完成了緩存,但是現在的緩存是默認的基于內存的,沒有實現持久化。下面以redis作為緩存的具體實現,如下:

4、添加依賴

?
1
2
3
4
<dependency>
  <groupid>org.springframework.boot</groupid>
  <artifactid>spring-boot-starter-redis</artifactid>
</dependency>

5、在配置文件里添加redis配置

?
1
2
redis.hostname=localhost
redis.port=6379

6、在spring容器中配置redis

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
@configuration
public class redisconfig extends cachingconfigurersupport{
  private static final logger logger = loggerfactory.getlogger(redisconfig.class);
 
  @autowired
  private environment env;
 
  @bean
  public jedisconnectionfactory redisconnectionfactory() {
    jedisconnectionfactory redisconnectionfactory = new jedisconnectionfactory();
    redisconnectionfactory.sethostname(env.getproperty("redis.hostname"));
    redisconnectionfactory.setport(integer.parseint(env.getproperty("redis.port")));
    return redisconnectionfactory;
  }
 
  @bean
  public redistemplate<string, string> redistemplate(redisconnectionfactory cf) {
    redistemplate<string, string> redistemplate = new redistemplate<>();
    redistemplate.setconnectionfactory(cf);
    return redistemplate;
  }
 
  @bean
  public cachemanager cachemanager(redistemplate<?, ?> redistemplate) {
    rediscachemanager cachemanager = new rediscachemanager(redistemplate);
    cachemanager.setdefaultexpiration(600);
    return cachemanager;
  }
   
}

ok,完成了,其他什么都不用改,是不是很方便?

另外,要緩存的類必須序列化。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:https://blog.csdn.net/luckyxl029/article/details/79420334

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲国产精品久久久久秋霞不卡 | 国产最新精品 | 久久av综合 | 亚洲天堂av在线 | 日韩欧美不卡 | 国产精品国产成人国产三级 | 国产精品无码久久久久 | 亚洲在线视频 | 能在线观看的黄色网址 | 97碰碰碰免费公开在线视频 | 黄色视屏在线免费观看 | 韩日一区 | 一区二区三区不卡视频 | 欧美一区精品 | 成人午夜精品久久久久久久3d | 久草精品在线 | 国产精品一区二区三 | 亚洲精品片 | 超碰97中文| sese综合| 一级黄色大片在线观看 | 亚洲一区二区av | 亚洲成av人片在线观看无 | 国产精品资源在线 | 黄色毛片在线看 | 一区二区三区在线播放 | 毛片色 | 欧美激情区 | 超级黄色毛片 | 中文字幕av一区二区三区 | 成人免费在线电影 | 国产精品久久久久久久久久久天堂 | 国产高清精品一区 | 女人性做爰免费网站 | 黑人一区| 蜜桃臀一区二区三区 | 久久尤物免费一区二区三区 | 欧美成年黄网站色视频 | 久久一二区| 极品videossex中国妞hd | 国产黄色在线观看 |