zoukankan      html  css  js  c++  java
  • MyBatis缓存结构

    Mybatis Cache结构图:

    CacheKey(statementId, sql, sqlParams,other)。
    上图展示了Mybatis Cache的结构:
    1)每个Mapper对应一块缓存存储
    2)Redis缓存存储key为mapper名称,value为哈希表 (主要操作缓存方法为hset,hdel,del,访问api由jedis提供)

    3,Mybatis缓存与insert/update/delete/query等crud方法的交互
    1)执行query成功时,缓存会增加一条记录,比如UserMapper的queryUser结果,会存入一条field=CacheKey, value= queryUser结果集的记录到key为User的缓存块。
    2)执行insert/update/delete方法时,会清理key为User的缓存块内容
    3)当一个Mapper发生写操作时,实际的db数据可能发生变化,此时清理缓存是合理的,另一方面如果使用缓存,一张db表的操作都应在一个mapper当中,并且最好一一对应

    对于Redis而言,实现这个逻辑比较易于实现,因为它本身支持value为HashMap的缓存结构。

  • 相关阅读:
    11
    961. N-Repeated Element in Size 2N Array
    用numpy.pad()对图像进行填充及简单的图像处理
    709. To Lower Case
    929. Unique Email Addresses
    771. Jewels and Stones
    谭凯---访谈录
    如何拍照
    主题阅读法
    社会各职业工作重心和流程
  • 原文地址:https://www.cnblogs.com/fangfan/p/4652143.html
Copyright © 2011-2022 走看看