• java在线学习-mybatis的缓存类及作用


    图灵学院  java在线学习-mybatis的缓存类及作用

    1.缓存的作用

        mybatis缓存的作用就是提升查询的效率和减少数据库的压力。

    java架构师学习路线

        2.mybatis的缓存类

        mybatis缓存相关的类都在cache包里面,有个Cache的接口,默认实现是PerpetualCache类。当然,还有一些其他缓存类,是通过装饰器模式实现的。我们来看下包结构:

        然后看下这些缓存类的作用:

        PerpetualCache:基本缓存类,默认实现。

        LruCache:LRU策略的缓存,作用是当缓存到达上限时候,删除最近最少使用的缓存。

        FifoCache:FIFO策略的缓存,作用是当缓存到达上限时候,删除最先入队的缓存。

        SoftCache:带清理策略的缓存,作用是通过JVM的软引用来实现缓存,当JVM内存不足时,会自动清理掉这些缓存。

        WeakCache:带清理策略的缓存,作用是通过JVM的弱引用来实现缓存,当JVM内存不足时,会自动清理掉这些缓存。

        LoggingCache:带日志功能的缓存。

        SynchronizedCache:同步缓存,基于synchronized关键字实现,作用是解决并发问。

        BlockingCache:阻塞缓存,通过在get/put方式中加锁,保证只有一个线程操作缓存,基于Java重入锁实现

        SerializedCache:支持序列化的缓存,将对象序列化以后存到缓存中,取出时反序列化。

        ScheduledCache:定时调度的缓存,在进行get/put/remove/getSize等操作前,判断缓存时间是否超过了设置的最长缓存时间(默认是一小时),如果是则清空缓存--即每隔一段时间清空一次缓存。这个有点像redis设置的超时时间。

        TransactionalCache:事务缓存。

  • 相关阅读:
    iframe
    # ? & 号在url中的的作用
    面向对象和面向过程
    dom
    DOM对象与jquery对象有什么不同
    绑定js
    leetcode — search-for-a-range
    leetcode — search-for-a-range
    leetcode — search-in-rotated-sorted-array
    leetcode — longest-valid-parentheses
  • 原文地址:https://www.cnblogs.com/tulingxueyuan/p/14080756.html
Copyright © 2020-2023  润新知