zoukankan      html  css  js  c++  java
  • 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
    ) {

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

  • 相关阅读:
    LeetCode 1
    Thinking in Java学习杂记(第7章)
    工程优化部分概念
    Thinking in Java学习杂记(5-6章)
    Thinking in Java学习杂记(1-4章)
    python中map()和dict()的用法
    JavaWeb高级编程(下篇)
    对CSDN的理性吐槽
    CSDN博客已经打不开了
    大连交大教务一键教学评价
  • 原文地址:https://www.cnblogs.com/liuwenjun/p/10325331.html
Copyright © 2011-2022 走看看