• 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
    ) {

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

  • 相关阅读:
    SpringBoot Maven项目 Helloworld 测试
    Oracle client安装教程
    quartz定时任务时间设置
    maven导出项目依赖的jar包
    Java 集合类
    Webservice客户端动态调用服务端功能方法
    使用Eclipse自带的Axis1插件生成Web Service服务端客户端
    SpringBatch Sample (五)(复合格式文件的读、多文件的写)
    Mysql性能分析
    设置nginx中文件上传的大小限制度
  • 原文地址:https://www.cnblogs.com/liuwenjun/p/10325331.html
Copyright © 2020-2023  润新知