平博棋牌博彩体育_Springboot+Mybatis集成自界说缓存Ehcache用法


发布日期:2023-10-30 07:12    点击次数:96


平博棋牌博彩体育_Springboot+Mybatis集成自界说缓存Ehcache用法

平博棋牌博彩体育_

[[425595]]

网络赌博危害

今天小编给寰宇整理了springboot+mybatis集成自界说缓存ehcache用法札记,但愿对寰宇能有所办匡助!

一、ehcache先容

EhCache 是一个纯Java的程度内缓存处治框架,属于开源的Java散播式缓存框架,主要用于通用缓存,Java EE和轻量级容器。

1、特质

1. 陋劣、快速

2. 提供多种缓存战略

皇冠现金网网址

3. 缓存数据可分两级:内存和磁盘

4. 缓存数据会在行状器重启的历程中再行写入磁盘

.5 不错通过RMI、可插入API等表情进行散播式缓存

魅力

6. 具有缓存谦和存处治器的侦听接口

体育博彩交流平台

7. 撑抓多缓存处治器实例,以及一个实例的多个缓存区域

皇冠体育

皇冠客服飞机:@seo3687

8. 提供了Hibernate的缓存竣事

2、诈欺场景

单诈欺或对缓存打听性能条件很高的诈欺

安妥陋劣分享

安妥缓存内容不大的场景,比如MyBatis自界说缓存、系统树立信息、页面缓存。

二、springboot+mybatis集成ehcache才调

Spring Boot 的缓存机制

皇冠国际博彩

高速缓存综合不提供实质存储,况兼依赖于由org.springframework.cache.Cache和org.springframework.cache.CacheManager接口竣事的综合。 Spring Boot字据竣事自动树立合适的CacheManager,只有缓存撑抓通过@EnableCaching注解启用即可。

1、添加ehcache.xml树立文献

<?xml 沙巴娱乐城version="1.0" encoding="UTF-8"?> <ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"     xsi:noNamespaceSchemaLocation="http://ehcache.org/ehcache.xsd">     <diskStore path="java.io.tmpdir" />      <!-- 树立提供者 1、peerDiscovery,提供者表情,欧博会员网站官网注册网址开户有两种表情:自动发现(automatic)、手动树立(manual) 2、rmiUrls,手动表情时提供者的地址,多个的话用|离隔 -->     <cacheManagerPeerProviderFactory         class="net.sf.ehcache.distribution.RMICacheManagerPeerProviderFactory"         properties="peerDiscovery=manual,rmiUrls=//127.0.0.1:40002/userCache" />     <!-- <cacheManagerPeerProviderFactory         class="net.sf.ehcache.distribution.RMICacheManagerPeerProviderFactory"         properties="peerDiscovery=automatic, multicastGroupAddress=230.0.0.1, multicastGroupPort=4446,timeToLive=255"/>  -->     <!-- 树立监听器 1、hostName 主机地址 2、port 端口 3、socketTimeoutMillis socket子模块的超频频间,默许是2000ms -->     <cacheManagerPeerListenerFactory         class="net.sf.ehcache.distribution.RMICacheManagerPeerListenerFactory"         properties="hostName=127.0.0.1, port=40001, socketTimeoutMillis=2000" />     <!-- <cacheManagerPeerListenerFactory          class="net.sf.ehcache.distribution.RMICacheManagerPeerListenerFactory"/> -->       <defaultCache eternal="false" maxElementsInMemory="1000"         overflowToDisk="false" diskPersistent="false" timeToIdleSeconds="0"         timeToLiveSeconds="600" memoryStoreEvictionPolicy="LRU" />      <cache         name="userCache"         maxElementsInMemory="1000"         eternal="false"         timeToIdleSeconds="300"         timeToLiveSeconds="300"         overflowToDisk="false"         memoryStoreEvictionPolicy="LRU">           <!-- 树立缓存事件监听器 replicateAsynchronously 操作是否异步,默许值为true. replicatePuts 添加操作是否同步到集群内的其他缓存,默许为true.             replicateUpdates 更新操作是否同步到集群内的其他缓存,默许为true. replicateUpdatesViaCopy 更新之后的对象是否复制到集群中的其他缓存(true);             replicateRemovals 删除操作是否同步到集群内的其他缓存,默许为true. -->         <cacheEventListenerFactory             class="net.sf.ehcache.distribution.RMICacheReplicatorFactory"             properties="                     replicateAsynchronously=true,                     replicatePuts=true,                     replicateUpdates=true,                     replicateUpdatesViaCopy=true,                     replicateRemovals=true " />            <!-- 脱手化缓存,以及自动确立 -->         <bootstrapCacheLoaderFactory             class="net.sf.ehcache.distribution.RMIBootstrapCacheLoaderFactory"             properties="bootstrapAsynchronously=true" />      </cache>  </ehcache> 

2、树立 application.properyies

#cache 树立cache   spring.cache.cache-names=userCache  spring.cache.jcache.config=classpath:ehcache.xml 

3、springboot启动类增多注解@EnableCaching

@SpringBootApplication @ComponentScan(basePackages="com.ehcache")//扫描组件 @EnableCaching public class EhcacheTestApplication {      public static void main(String[] args) {         SpringApplication.run(EhcacheTestApplication.class, args);     } } 

4、UserInfoService.java 文献增多缓存注解

博彩体育博彩世界充满不确定性,皇冠能够您提供最好博彩体验,不仅能够您带来胜利,您享受博彩乐趣。
@Service public class UserInfoService {      @Autowired     private UserDao userDao;      @CacheEvict(key="'user_'+#uid", value="userCache")     public void del(String uid) {                userDao.del(uid);     }      @CachePut(key="'user_'+#user.id", value="userCache")     public void update(User user) {         userDao.update(user);     }      @Cacheable(key="'user_'+#id",value="userCache")     public User getUserById(String id){              return userDao.findById(id);    }      @CacheEvict(key="'user'",value="userCache")     public String save(User user) {                 return userDao.save(user);     } } 

5、增多测试适度器TestController.java

package com.ehcache.controller;  import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map;  import javax.servlet.http.HttpServletRequest;  import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cache.annotation.CachePut; import org.springframework.cache.annotation.Cacheable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController;  import com.ehcache.entity.User; import com.ehcache.factory.CacheManagerFactory; import com.ehcache.factory.UserFactory; import com.ehcache.service.UserService; import com.google.gson.Gson;  import net.sf.ehcache.Element;   @RestController @RequestMapping("/CacheTest") public class CacheTestController {     @Autowired     private UserService userService;     Gson gson = new Gson();     CacheManagerFactory cmf = CacheManagerFactory.getInstance();     @RequestMapping(value = "/test", method = RequestMethod.GET)     public String test(HttpServletRequest request){         // 新增新用户         String id = userService.save(UserFactory.createUser());         User user = userService.getUserById(id);         user.setUsername("小明");         userService.update(user);         // 查询该用户         System.out.println(gson.toJson(user, User.class));               System.out.println();         // 再查询该用户         User user = userService.getUserById(uid);         System.out.println(gson.toJson(user, User.class));         System.out.println();         // 更新该用户         userService.update(user);         // 更新到手后再查询该用户        System.out.println(gson.toJson(userService.getUserById(id), User.class));         System.out.println();         // 删除该用户         userService.del(id);         System.out.println();         // 删除后再查询该用户        System.out.println(gson.toJson(userService.getUserById(id), User.class));         return id;     } } 

 个东说念主博客网站:https://programmerblog.xyz

平博棋牌

本文转载自微信公众号「IT手艺分享社区」,不错通过以下二维码关心。转载本文请干系IT手艺分享社区公众号。

皇冠信用登录网址