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

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

  • 相关阅读:
    单元测试、TDD和BDD的差别
    关于程序员的发展方向
    forin为什么不按照顺序遍历对象
    CSS BEM 书写规范
    c#基础知识20问
    单个编译c#中的cs文件
    c#排序算法(待续)
    (转)getElementByID getElementsByName getElementsByTagName用法详解
    安装SQL Server 2005 性能计数器错误的解决方法
    创建和使用c#DLL(摘自MSDN)
  • 原文地址:https://www.cnblogs.com/liuwenjun/p/10325331.html
Copyright © 2011-2022 走看看