flowable交流群:633168411

flowable 图片缓存

背景

由于我们的每次显示图片的话,都将需要大量的查询和相关的流。这样对我们的系统压力极大,用户体验极差。

所以使用了缓存把图片流缓存起来,这样就可以解决问题了。

实现

这里我用的是ehcache,由于他小巧依赖少。

1:把我们的包导入进来

<!--开启 cache 缓存-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-cache</artifactId>
        </dependency>
        <!-- ehcache 缓存 -->
        <dependency>
            <groupId>net.sf.ehcache</groupId>
            <artifactId>ehcache</artifactId>
        </dependency>

2:配置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"
         updateCheck="false">
    <diskStore path="/data/flow/ehcache"/>
    <defaultCache
            eternal="false"
            maxElementsInMemory="900"
            overflowToDisk="false"
            diskPersistent="false"
            timeToIdleSeconds="0"
            timeToLiveSeconds="30"
            memoryStoreEvictionPolicy="LRU"/>
    <!-- 这里的 cache-process-image 缓存流程的图片信息 -->
    <cache
            name="cache-process-image"
            eternal="false"
            maxElementsInMemory="2000"
            maxElementsOnDisk="3000"
            overflowToDisk="true"
            diskPersistent="true"
            timeToIdleSeconds="0"
            timeToLiveSeconds="1296000"
            memoryStoreEvictionPolicy="LRU"/>
</ehcache>

3:配置application.properties文件

spring.cache.ehcache.config=classpath:/ehcache/flow-ehcache.xml

4:配置缓存注解

@Cacheable(value = FlowConstant.CACHE_PROCESS_IMAGE, key = "'" + FlowConstant.PROCESSINSTANCE_PREFIX + "'+ #processDefinitionId
") public byte[] createImage(String processDefinitionId
) {

就这么简单就能实现图片缓存了,以廉价的技术实现强大的功能。

 

posted @ 2019-01-26 23:47  小学生05101  阅读(886)  评论(0编辑  收藏  举报
flowable交流群:633168411