专注做蔬菜的网站,昆山建设局网站表格下,如何建设股权众筹网站,包头网站作风建设年自评材料除了我们默认的缓存形式simlpe之外, 我们其实还有许多其他种类的缓存供应
Ehcache就是其中的一种形式
Ehcache在SpringBoot当中的使用:
其实跟我们之前整合第三方的资源是一样的形式
1导入依赖:
!-- 更换缓存, 将默认使用的 Simple 更换为Ehcache--
depe…除了我们默认的缓存形式simlpe之外, 我们其实还有许多其他种类的缓存供应
Ehcache就是其中的一种形式
Ehcache在SpringBoot当中的使用:
其实跟我们之前整合第三方的资源是一样的形式
1导入依赖:
!-- 更换缓存, 将默认使用的 Simple 更换为Ehcache--
dependency
groupIdnet.sf.ehcache/groupId artifactIdehcache/artifactId
/dependency
2加载对应的配置文件:
配置一:
首先是有关Ehcache的相关配置 , 设置其配置的名称为:
ehcache.xml即可 默认的名称也是这样的
配置如下:
?xml version1.0 encodingUTF-8?
ehcache xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:noNamespaceSchemaLocationhttp://ehcache.org/ehcache.xsd!-- 磁盘缓存位置 --diskStore pathjava.io.tmpdir/ehcache/!-- 默认缓存 --defaultCachemaxEntriesLocalHeap10000eternalfalsetimeToIdleSeconds3600timeToLiveSeconds3600maxEntriesLocalDisk10000000diskExpiryThreadIntervalSeconds120memoryStoreEvictionPolicyLRU/
!--第三个, 以及第四个属性 是用来设置对应的缓存的存在时间的, 超过时间就会自己自动的清空缓存--cache namesmsCodemaxElementsInMemory60eternalfalsetimeToIdleSeconds20timeToLiveSeconds20overflowToDiskfalsememoryStoreEvictionPolicyLRU/
/ehcache
配置二:
在我们的SpringBoot的配置文件当中修改:
# 设置我们当前使用的缓存, 默认的情况下就是一个 Simple 的类
# 我们也可以自己进行变更, 将其设置成为一个对应的 ehcache的类型cache:type: ehcache
3开启缓存
实际上跟之前使用我们默认开启缓存的方式是一样的
第一步都是需要我们在配置类当中打开对应的缓存设置
SpringBootApplication //配置类当中设置我们当前是允许开启缓存的 EnableCaching public class Spring19CacheApplication {
之后在我们需要使用的类的方法之上添加对应的注解:
Cacheable(value , key )
CachePut(value, key )
这里的value指的是我们的实例的缓存 第二个key指的是我们对应的唯一标识
这两个之间的区别还是比较大的, 我们来粗浅的做一下比对, 分析
4Cacheable与CachePut:
Cacheable:
仅仅第一次获取数据是依靠我们设置的方法进行获取的, 之后再次使用的时候, 都是根据我们的实力缓存当中获取的
Cacheable(value smsCode,key #tel)
public String sendCodeToSMS(String tel) {System.out.println(CachePut方法被执行了!!!!);String generator code.generator(tel);return generator;
}使用这种方式, 我们针对同一个手机号, 发送多次请求, 依旧是仅仅只有一个结果
那么就说明我们的方法仅仅只用了一次
之后使用的都是缓存当中的数据了
CachePut:
每一次都会调用对应的方法, 不是从我们的缓存值当中去拿的, 而是每一次都会将我们的返回值放进缓存内部!
CachePut(value smsCode,key #tel)
public String sendCodeToSMS(String tel) {System.out.println(CachePut方法被执行了!!!!);String generator code.generator(tel);return generator;
} 比如我们使用手机号获取验证码的一个小功能, 这里发送几次请求, 就有几个返回过来的验证码, 即使是针对同一个的手机号, 在很短的时间内