好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

Spring Boot 简单使用EhCache缓存框架的方法

我的环境是gradle + kotlin + spring boot,这里介绍ehcache 缓存 框架在spring boot上的简单应用。

在build.gradle文件添加依赖

?

1

2

compile( "org.springframework.boot:spring-boot-starter-cache" )

compile( "net.sf.ehcache:ehcache" )

修改application的配置,增加 @enablecaching 配置

?

1

2

3

4

5

6

7

8

9

10

11

@mapperscan ( "com.xxx.xxx.dao" )

@springbootapplication (scanbasepackages= arrayof( "com.xxx.xxx" ))

// 启用缓存注解

@enablecaching

// 启动定时器

@enablescheduling

open class myapplication {}

 

fun main(args: array<string>) {

   springapplication.run(myapplication:: class .java, *args)

}

在 resources 添加文件 ehcache.xml

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

<ehcache xmlns:xsi= "http://www.w3.org/2001/xmlschema-instance"

      xsi:nonamespaceschemalocation= "ehcache.xsd" >

   <diskstore path= "mycache.ehcache" />

 

   <defaultcache

       maxelementsinmemory= "100"

       eternal= "true"

       overflowtodisk= "true" />

 

   <cache

       name= "usercache"

       maxelementsinmemory= "10"

       eternal= "false"

       timetoidleseconds= "0"

       timetoliveseconds= "0"

       overflowtodisk= "true"

       maxelementsondisk= "20"

       diskpersistent= "true"

       diskexpirythreadintervalseconds= "120"

       memorystoreevictionpolicy= "lru" />

</ehcache>

使用

需要持久化的类需要实现serializable序列化接口,不然无法写入硬盘

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

class user : serializable {

   var id: int = 0

   var name: string? = null

 

   constructor()

  

   constructor(id: int , name: string?) {

     this .id = id

     this .name = name

   }

}

// 获取缓存实例

val usercache = cachemanager.getinstance().getcache( "usercache" )

// 写入缓存

val element = element( "1000" , user( 1000 , "wiki" ))

usercache.put(element)

// 读取缓存

val user = usercache.get( "1000" ).objectvalue as user

写入硬盘

只要增加 <diskstore path="mycache.ehcache"/> 就可以写入文件,重启服务数据也不会丢失。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

原文链接:https://www.jianshu.com/p/3e35009ad3b

查看更多关于Spring Boot 简单使用EhCache缓存框架的方法的详细内容...

  阅读:33次