{"id":8026,"date":"2024-03-14T07:27:26","date_gmt":"2024-03-14T07:27:26","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/how-to-set-expiration-time-for-local-cache-in-java\/"},"modified":"2025-08-02T23:43:56","modified_gmt":"2025-08-02T23:43:56","slug":"how-to-set-expiration-time-for-local-cache-in-java","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/how-to-set-expiration-time-for-local-cache-in-java\/","title":{"rendered":"Java Cache Expiration: Set Time Limits"},"content":{"rendered":"<p>In Java, you can create a local cache and set expiration time using the CacheBuilder class. Below is an example code:<\/p>\n<pre class=\"post-pre\"><code class=\"lang-java\">import com.google.common.cache.Cache;\r\nimport com.google.common.cache.CacheBuilder;\r\n\r\nimport java.util.concurrent.TimeUnit;\r\n\r\npublic class LocalCacheExample {\r\n\r\n    public static void main(String[] args) {\r\n        \/\/ \u521b\u5efa\u4e00\u4e2a\u672c\u5730\u7f13\u5b58\uff0c\u8bbe\u7f6e\u6700\u5927\u7f13\u5b58\u5927\u5c0f\u4e3a100\uff0c\u8fc7\u671f\u65f6\u95f4\u4e3a10\u5206\u949f\r\n        Cache&lt;String, String&gt; cache = CacheBuilder.newBuilder()\r\n                .maximumSize(100)\r\n                .expireAfterWrite(10, TimeUnit.MINUTES)\r\n                .build();\r\n\r\n        \/\/ \u5c06\u952e\u503c\u5bf9\u653e\u5165\u7f13\u5b58\u4e2d\r\n        cache.put(\"key1\", \"value1\");\r\n        cache.put(\"key2\", \"value2\");\r\n\r\n        \/\/ \u4ece\u7f13\u5b58\u4e2d\u83b7\u53d6\u503c\r\n        String value1 = cache.getIfPresent(\"key1\");\r\n        String value2 = cache.getIfPresent(\"key2\");\r\n\r\n        System.out.println(\"value1: \" + value1);\r\n        System.out.println(\"value2: \" + value2);\r\n\r\n        \/\/ \u4f11\u772011\u5206\u949f\uff0c\u6b64\u65f6\u7f13\u5b58\u4e2d\u7684\u6570\u636e\u5e94\u8be5\u5df2\u7ecf\u8fc7\u671f\r\n        try {\r\n            Thread.sleep(11 * 60 * 1000);\r\n        } catch (InterruptedException e) {\r\n            e.printStackTrace();\r\n        }\r\n\r\n        \/\/ \u518d\u6b21\u5c1d\u8bd5\u83b7\u53d6\u7f13\u5b58\u4e2d\u7684\u503c\r\n        value1 = cache.getIfPresent(\"key1\");\r\n        value2 = cache.getIfPresent(\"key2\");\r\n\r\n        System.out.println(\"value1 after expiration: \" + value1);\r\n        System.out.println(\"value2 after expiration: \" + value2);\r\n    }\r\n}\r\n<\/code><\/pre>\n<p>In the code above, a cache builder is created using CacheBuilder.newBuilder(), then the maximum size of the cache is set by calling the maximumSize() method and the expiration time of the cache data is set using the expireAfterWrite() method. Finally, the cache object is built by calling the build() method.<\/p>\n<p>It is important to note that the examples above use CacheBuilder from the Guava library to create local caches, the corresponding dependencies need to be included in the project.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In Java, you can create a local cache and set expiration time using the CacheBuilder class. Below is an example code: import com.google.common.cache.Cache; import com.google.common.cache.CacheBuilder; import java.util.concurrent.TimeUnit; public class LocalCacheExample { public static void main(String[] args) { \/\/ \u521b\u5efa\u4e00\u4e2a\u672c\u5730\u7f13\u5b58\uff0c\u8bbe\u7f6e\u6700\u5927\u7f13\u5b58\u5927\u5c0f\u4e3a100\uff0c\u8fc7\u671f\u65f6\u95f4\u4e3a10\u5206\u949f Cache&lt;String, String&gt; cache = CacheBuilder.newBuilder() .maximumSize(100) .expireAfterWrite(10, TimeUnit.MINUTES) .build(); \/\/ \u5c06\u952e\u503c\u5bf9\u653e\u5165\u7f13\u5b58\u4e2d cache.put(&#8220;key1&#8221;, &#8220;value1&#8221;); cache.put(&#8220;key2&#8221;, &#8220;value2&#8221;); \/\/ [&hellip;]<\/p>\n","protected":false},"author":10,"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":[2446,10554,10553,10552,10551],"class_list":["post-8026","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-cache-expiration","tag-cachebuilder","tag-expireafterwrite","tag-guava-cache","tag-java-cache"],"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>Java Cache Expiration: Set Time Limits - Blog - Silicon Cloud<\/title>\n<meta name=\"description\" content=\"Learn to set expiration time for Java local cache using CacheBuilder with expireAfterWrite code example.\" \/>\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\/how-to-set-expiration-time-for-local-cache-in-java\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Java Cache Expiration: Set Time Limits\" \/>\n<meta property=\"og:description\" content=\"Learn to set expiration time for Java local cache using CacheBuilder with expireAfterWrite code example.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/how-to-set-expiration-time-for-local-cache-in-java\/\" \/>\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-14T07:27:26+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-08-02T23:43:56+00:00\" \/>\n<meta name=\"author\" content=\"Jackson Davis\" \/>\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=\"Jackson Davis\" \/>\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\/how-to-set-expiration-time-for-local-cache-in-java\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-set-expiration-time-for-local-cache-in-java\/\"},\"author\":{\"name\":\"Jackson Davis\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/55a10b8b0457c35884c25677889ad350\"},\"headline\":\"Java Cache Expiration: Set Time Limits\",\"datePublished\":\"2024-03-14T07:27:26+00:00\",\"dateModified\":\"2025-08-02T23:43:56+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-set-expiration-time-for-local-cache-in-java\/\"},\"wordCount\":107,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"keywords\":[\"cache expiration\",\"CacheBuilder\",\"expireAfterWrite\",\"Guava Cache\",\"Java Cache\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-set-expiration-time-for-local-cache-in-java\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/how-to-set-expiration-time-for-local-cache-in-java\/\",\"name\":\"Java Cache Expiration: Set Time Limits - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-14T07:27:26+00:00\",\"dateModified\":\"2025-08-02T23:43:56+00:00\",\"description\":\"Learn to set expiration time for Java local cache using CacheBuilder with expireAfterWrite code example.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-set-expiration-time-for-local-cache-in-java\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/how-to-set-expiration-time-for-local-cache-in-java\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-set-expiration-time-for-local-cache-in-java\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Java Cache Expiration: Set Time Limits\"}]},{\"@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\/55a10b8b0457c35884c25677889ad350\",\"name\":\"Jackson Davis\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/2fdb47d6df1226e92380d96973782572a97b0675d098bb914410dec348eb5d29?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/2fdb47d6df1226e92380d96973782572a97b0675d098bb914410dec348eb5d29?s=96&d=mm&r=g\",\"caption\":\"Jackson Davis\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/jacksondavis\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Java Cache Expiration: Set Time Limits - Blog - Silicon Cloud","description":"Learn to set expiration time for Java local cache using CacheBuilder with expireAfterWrite code example.","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\/how-to-set-expiration-time-for-local-cache-in-java\/","og_locale":"en_US","og_type":"article","og_title":"Java Cache Expiration: Set Time Limits","og_description":"Learn to set expiration time for Java local cache using CacheBuilder with expireAfterWrite code example.","og_url":"https:\/\/www.silicloud.com\/blog\/how-to-set-expiration-time-for-local-cache-in-java\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-14T07:27:26+00:00","article_modified_time":"2025-08-02T23:43:56+00:00","author":"Jackson Davis","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Jackson Davis","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/how-to-set-expiration-time-for-local-cache-in-java\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-set-expiration-time-for-local-cache-in-java\/"},"author":{"name":"Jackson Davis","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/55a10b8b0457c35884c25677889ad350"},"headline":"Java Cache Expiration: Set Time Limits","datePublished":"2024-03-14T07:27:26+00:00","dateModified":"2025-08-02T23:43:56+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-set-expiration-time-for-local-cache-in-java\/"},"wordCount":107,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"keywords":["cache expiration","CacheBuilder","expireAfterWrite","Guava Cache","Java Cache"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/how-to-set-expiration-time-for-local-cache-in-java\/","url":"https:\/\/www.silicloud.com\/blog\/how-to-set-expiration-time-for-local-cache-in-java\/","name":"Java Cache Expiration: Set Time Limits - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-14T07:27:26+00:00","dateModified":"2025-08-02T23:43:56+00:00","description":"Learn to set expiration time for Java local cache using CacheBuilder with expireAfterWrite code example.","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-set-expiration-time-for-local-cache-in-java\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/how-to-set-expiration-time-for-local-cache-in-java\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/how-to-set-expiration-time-for-local-cache-in-java\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Java Cache Expiration: Set Time Limits"}]},{"@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\/55a10b8b0457c35884c25677889ad350","name":"Jackson Davis","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/2fdb47d6df1226e92380d96973782572a97b0675d098bb914410dec348eb5d29?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/2fdb47d6df1226e92380d96973782572a97b0675d098bb914410dec348eb5d29?s=96&d=mm&r=g","caption":"Jackson Davis"},"url":"https:\/\/www.silicloud.com\/blog\/author\/jacksondavis\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/8026","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\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=8026"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/8026\/revisions"}],"predecessor-version":[{"id":152823,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/8026\/revisions\/152823"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=8026"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=8026"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=8026"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}