{"id":14137,"date":"2024-03-15T08:32:18","date_gmt":"2024-03-15T08:32:18","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/what-is-the-purpose-of-the-mybatis-cache-mechanism\/"},"modified":"2025-08-06T04:22:53","modified_gmt":"2025-08-06T04:22:53","slug":"what-is-the-purpose-of-the-mybatis-cache-mechanism","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/what-is-the-purpose-of-the-mybatis-cache-mechanism\/","title":{"rendered":"MyBatis Cache: Purpose &#038; Levels Explained"},"content":{"rendered":"<p>The purpose of the MyBatis caching mechanism is to improve database query performance by storing query results in memory, which helps avoid redundant database access operations and thereby speeds up data retrieval.<\/p>\n<p>Specifically, the MyBatis cache can be divided into two levels: first-level cache (local cache) and second-level cache (global cache).<\/p>\n<ol>\n<li>Primary Cache: The primary cache is at the level of the SqlSession, it is enabled by default and is transaction-level cache. Within the same SqlSession, when the same query statement is executed, if the same query result already exists in the cache, the result is directly retrieved from the cache, avoiding unnecessary repeated queries and database accesses.<\/li>\n<li>Secondary cache: The secondary cache is a cache at the mapper level, which is turned off by default. When the secondary cache is enabled, query results are stored in a shared cache area. This allows different SqlSessions executing the same query statement to retrieve results from the secondary cache, preventing redundant queries and database access operations.<\/li>\n<\/ol>\n<p>By utilizing caching mechanism, MyBatis can reduce the frequency of database access, improve query performance, especially in the case of multi-table join queries or when dealing with large amounts of data. However, it is important to note that caching can lead to data consistency issues. Therefore, it is necessary to clean the cache promptly after update, insert, delete operations to ensure data accuracy.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The purpose of the MyBatis caching mechanism is to improve database query performance by storing query results in memory, which helps avoid redundant database access operations and thereby speeds up data retrieval. Specifically, the MyBatis cache can be divided into two levels: first-level cache (local cache) and second-level cache (global cache). Primary Cache: The primary [&hellip;]<\/p>\n","protected":false},"author":6,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[19041,515,8384,19040,3535],"class_list":["post-14137","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-cache-levels","tag-database-performance","tag-mybatis-cache","tag-mybatis-caching","tag-sql-optimization"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>MyBatis Cache: Purpose &amp; Levels Explained - Blog - Silicon Cloud<\/title>\n<meta name=\"description\" content=\"Learn how MyBatis cache boosts performance with 1st\/2nd level caching to reduce database queries and speed up data retrieval.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/blog\/what-is-the-purpose-of-the-mybatis-cache-mechanism\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"MyBatis Cache: Purpose &amp; Levels Explained\" \/>\n<meta property=\"og:description\" content=\"Learn how MyBatis cache boosts performance with 1st\/2nd level caching to reduce database queries and speed up data retrieval.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/what-is-the-purpose-of-the-mybatis-cache-mechanism\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-15T08:32:18+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-08-06T04:22:53+00:00\" \/>\n<meta name=\"author\" content=\"Benjamin Taylor\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:site\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Benjamin Taylor\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/what-is-the-purpose-of-the-mybatis-cache-mechanism\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/what-is-the-purpose-of-the-mybatis-cache-mechanism\/\"},\"author\":{\"name\":\"Benjamin Taylor\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/ac801fe9549a25960ce48aa2e0a691c9\"},\"headline\":\"MyBatis Cache: Purpose &#038; Levels Explained\",\"datePublished\":\"2024-03-15T08:32:18+00:00\",\"dateModified\":\"2025-08-06T04:22:53+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/what-is-the-purpose-of-the-mybatis-cache-mechanism\/\"},\"wordCount\":232,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"keywords\":[\"Cache levels\",\"Database Performance\",\"MyBatis cache\",\"MyBatis caching\",\"SQL optimization\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/what-is-the-purpose-of-the-mybatis-cache-mechanism\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/what-is-the-purpose-of-the-mybatis-cache-mechanism\/\",\"name\":\"MyBatis Cache: Purpose & Levels Explained - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-15T08:32:18+00:00\",\"dateModified\":\"2025-08-06T04:22:53+00:00\",\"description\":\"Learn how MyBatis cache boosts performance with 1st\/2nd level caching to reduce database queries and speed up data retrieval.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/what-is-the-purpose-of-the-mybatis-cache-mechanism\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/what-is-the-purpose-of-the-mybatis-cache-mechanism\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/what-is-the-purpose-of-the-mybatis-cache-mechanism\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"MyBatis Cache: Purpose &#038; Levels Explained\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"name\":\"Silicon Cloud Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\",\"name\":\"Silicon Cloud Blog\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"contentUrl\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"width\":1024,\"height\":1024,\"caption\":\"Silicon Cloud Blog\"},\"image\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\",\"https:\/\/twitter.com\/SiliCloudGlobal\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/ac801fe9549a25960ce48aa2e0a691c9\",\"name\":\"Benjamin Taylor\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/ec2e3d3e2d525fd148047c4520ae7c1cdccd1f4b48a1a488422b31f04f345c14?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/ec2e3d3e2d525fd148047c4520ae7c1cdccd1f4b48a1a488422b31f04f345c14?s=96&d=mm&r=g\",\"caption\":\"Benjamin Taylor\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/benjamintaylor\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"MyBatis Cache: Purpose & Levels Explained - Blog - Silicon Cloud","description":"Learn how MyBatis cache boosts performance with 1st\/2nd level caching to reduce database queries and speed up data retrieval.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/blog\/what-is-the-purpose-of-the-mybatis-cache-mechanism\/","og_locale":"en_US","og_type":"article","og_title":"MyBatis Cache: Purpose & Levels Explained","og_description":"Learn how MyBatis cache boosts performance with 1st\/2nd level caching to reduce database queries and speed up data retrieval.","og_url":"https:\/\/www.silicloud.com\/blog\/what-is-the-purpose-of-the-mybatis-cache-mechanism\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-15T08:32:18+00:00","article_modified_time":"2025-08-06T04:22:53+00:00","author":"Benjamin Taylor","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Benjamin Taylor","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/what-is-the-purpose-of-the-mybatis-cache-mechanism\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/what-is-the-purpose-of-the-mybatis-cache-mechanism\/"},"author":{"name":"Benjamin Taylor","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/ac801fe9549a25960ce48aa2e0a691c9"},"headline":"MyBatis Cache: Purpose &#038; Levels Explained","datePublished":"2024-03-15T08:32:18+00:00","dateModified":"2025-08-06T04:22:53+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/what-is-the-purpose-of-the-mybatis-cache-mechanism\/"},"wordCount":232,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"keywords":["Cache levels","Database Performance","MyBatis cache","MyBatis caching","SQL optimization"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/what-is-the-purpose-of-the-mybatis-cache-mechanism\/","url":"https:\/\/www.silicloud.com\/blog\/what-is-the-purpose-of-the-mybatis-cache-mechanism\/","name":"MyBatis Cache: Purpose & Levels Explained - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-15T08:32:18+00:00","dateModified":"2025-08-06T04:22:53+00:00","description":"Learn how MyBatis cache boosts performance with 1st\/2nd level caching to reduce database queries and speed up data retrieval.","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/what-is-the-purpose-of-the-mybatis-cache-mechanism\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/what-is-the-purpose-of-the-mybatis-cache-mechanism\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/what-is-the-purpose-of-the-mybatis-cache-mechanism\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"MyBatis Cache: Purpose &#038; Levels Explained"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/blog\/#website","url":"https:\/\/www.silicloud.com\/blog\/","name":"Silicon Cloud Blog","description":"","publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.silicloud.com\/blog\/#organization","name":"Silicon Cloud Blog","url":"https:\/\/www.silicloud.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","contentUrl":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","width":1024,"height":1024,"caption":"Silicon Cloud Blog"},"image":{"@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/SiliCloudGlobal\/","https:\/\/twitter.com\/SiliCloudGlobal"]},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/ac801fe9549a25960ce48aa2e0a691c9","name":"Benjamin Taylor","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/ec2e3d3e2d525fd148047c4520ae7c1cdccd1f4b48a1a488422b31f04f345c14?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ec2e3d3e2d525fd148047c4520ae7c1cdccd1f4b48a1a488422b31f04f345c14?s=96&d=mm&r=g","caption":"Benjamin Taylor"},"url":"https:\/\/www.silicloud.com\/blog\/author\/benjamintaylor\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/14137","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=14137"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/14137\/revisions"}],"predecessor-version":[{"id":158159,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/14137\/revisions\/158159"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=14137"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=14137"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=14137"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}