集成 EhCache缓存

v1.4.1
Parker 4 years ago
parent ed53659c0e
commit 849afdd0dc

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>opsli-plugins</artifactId>
<groupId>org.opsliframework.boot</groupId>
<version>1.0.0</version>
<relativePath>../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>opsli-plugins-ehcache</artifactId>
<version>${project.parent.version}</version>
<dependencies>
<!-- 集成EhCache缓存 BEGIN -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-cache</artifactId>
</dependency>
<dependency>
<groupId>javax.cache</groupId>
<artifactId>cache-api</artifactId>
</dependency>
<dependency>
<groupId>org.ehcache</groupId>
<artifactId>ehcache</artifactId>
<version>${ehcache.version}</version>
</dependency>
<!-- 集成EhCache缓存 END -->
</dependencies>
</project>

@ -0,0 +1,45 @@
package org.opsli.plugins.cache;
/**
* @BelongsProject: opsli-boot
* @BelongsPackage: org.opsli.plugins.cache
* @Author: Parker
* @CreateTime: 2020-09-16 19:19
* @Description: EhCache
*/
public interface EhCachePlugin {
/**
*
* @param cacheName
* @param key
* @param value
* @return
*/
boolean put(String cacheName, String key, Object value);
/**
*
* @param cacheName
* @param key
* @return
*/
Object get(String cacheName, String key);
/**
*
* @param cacheName
* @param key
* @return
*/
<V> V get(String cacheName, String key ,Class<V> vClass);
/**
*
* @param cacheName
* @param key
*/
boolean delete(String cacheName, String key);
}

@ -0,0 +1,18 @@
package org.opsli.plugins.cache.conf;
import org.springframework.cache.annotation.EnableCaching;
import org.springframework.context.annotation.Configuration;
/**
* @BelongsProject: opsli-boot
* @BelongsPackage: org.opsli.plugins.cache.conf
* @Author: Parker
* @CreateTime: 2020-09-16 21:35
* @Description: EhCache
*/
@Configuration
@EnableCaching
public class EhCacheConfig {
}

@ -0,0 +1,82 @@
package org.opsli.plugins.cache.service;
import lombok.extern.slf4j.Slf4j;
import org.ehcache.core.EhcacheManager;
import org.springframework.cache.Cache;
import org.opsli.plugins.cache.EhCachePlugin;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cache.CacheManager;
import org.springframework.stereotype.Service;
/**
* @BelongsProject: opsli-boot
* @BelongsPackage: org.opsli.plugins.cache.service
* @Author: Parker
* @CreateTime: 2020-09-16 21:08
* @Description: EhCachePlugin
*/
@Slf4j
@Service
public class EhCachePluginImpl implements EhCachePlugin {
@Autowired(required = false)
CacheManager cacheManager;
@Override
public boolean put(String cacheName, String key, Object value) {
boolean ret = false;
try {
Cache cache = cacheManager.getCache(cacheName);
if(cache != null){
cache.put(key,value);
ret = true;
}
} catch (Exception e) {
log.error("添加缓存失败:{}",e.getMessage());
}
return ret;
}
@Override
public Object get(String cacheName, String key) {
try {
Cache cache = cacheManager.getCache(cacheName);
if(cache != null){
return cache.get(key);
}
} catch (Exception e) {
log.error("获取缓存数据失败:{}",e.getMessage());
}
return null;
}
@Override
public <V> V get(String cacheName, String key, Class<V> vClass) {
try {
Cache cache = cacheManager.getCache(cacheName);
if(cache != null){
return cache.get(key,vClass);
}
} catch (Exception e) {
log.error("获取缓存数据失败:{}",e.getMessage());
}
return null;
}
@Override
public boolean delete(String cacheName, String key) {
boolean ret = false;
try {
Cache cache = cacheManager.getCache(cacheName);
if(cache != null){
cache.evict(key);
ret = true;
}
} catch (Exception e) {
log.error("删除缓存数据失败:{}",e.getMessage());
}
return ret;
}
}

@ -18,6 +18,7 @@
<modules>
<module>opsli-plugins-mail</module>
<module>opsli-plugins-redis</module>
<module>opsli-plugins-ehcache</module>
</modules>
<dependencyManagement>

Loading…
Cancel
Save