缓存:为数据库的查询进行缓存,是减少数据库压力的主要捷径,官方介绍主要有一级缓存和二级缓存,下面简单介绍这两种缓存的区别。

一级缓存:session级别缓存,作用于当前会话。

特点:1.一级缓存默认开启,并且无法关闭。2.作用域是session,一次openSession( )后,如果相同的statement和相同的参数,则不进行查询而是从缓存命中并且返回,如果没有命中则查询数据库。3.任何的增删改都会导致缓存被清空。4.缓存使用LeastRecentlyUsed(LRU,最近最少使用的)算法来收回。

二级缓存:SessionFactory级别缓存,作用于整个SessionFactory,多个会话之间共享缓存。

特点:1.二级缓存需要手动开启,开启的方式是在Mapper.xml中添加<cache/>。2.二级缓存作用域是整个SessionFactory,如果namespace,statement,和sql参数一样,则缓存命中。

它的全局开关:cacheEnabled:默认打开的,如果关闭,所有的Mapper的二级缓存都会失效,默认是打开的。

下面着重介绍二级缓存的其它配置:

<cache
    eviction="FIFO"
    flushInterval="60000"
    size="512"
    readonly="true"
/>

官方是这样介绍的:

优质内容筛选与推荐>>
1、Associative Containers
2、C#多线程学习笔记(一)
3、老郑,加油
4、CLASSPATH 环境变量设置
5、Nginx的rewrite配置


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号