• SpringCache与redis集成,优雅的缓存解决方案


    缓存可以说是加速服务响应速度的一种非常有效并且简单的方式。在缓存领域,有很多知名的框架,如EhCache 、Guava、HazelCast等。Redis作为key-value型数据库,由于他的这一特性,Redis也成为一种流行的数据缓存工具。

    在传统方式下对于缓存的处理代码是非常臃肿的。

    例如:我们要把一个查询函数加入缓存功能,大致需要三步。

    一、在函数执行前,我们需要先检查缓存中是否存在数据,如果存在则返回缓存数据

    二、如果不存在,就需要在数据库的数据查询出来。

    三、最后把数据存放在缓存中,当下次调用此函数时,就可以直接使用缓存数据,减轻了数据库压力。

    那么实现上面的三步需要多少代码呢?下面是一个示例:

    上图中的红色部分都是模板代码,真正与这个函数有关的代码却只占了1/5,对于所有需要实现缓存功能的函数,都需要加上臃肿的模板代码。可谓是一种极不优雅的解决方案。

    那么如何让臃肿的代码重回清新的当初呢?

    AOP不就是专门解决这种模板式代码的最佳方案吗,幸运的是我们不需要再自己实现切面了,SpringCache已经为我们提供好了切面,我们只需要进行简单的配置,就可以重回当初了,像下面这样:
    原文参考,写的很不错觉,代码有点老,只截取了中心思想

    只需要加一个注解就可以了,对于原来的代码连改都不需要改,是不是已经跃跃欲试了?

  • 相关阅读:
    element ui 日期选择器的各种快捷选项
    vue实现带搜索的模拟下拉框组件
    前端面试100问(31-40)
    前端面试100问(22-30)
    古德-图灵估计(Good-Turing Estimate)
    拉普拉斯平滑(Laplace Smoothing)
    分类 与 聚类
    推荐系统
    文本聚类(Text clustering)
    文本分类(Text Categorization)
  • 原文地址:https://www.cnblogs.com/lovelywcc/p/14278197.html
Copyright © 2020-2023  润新知