{"id":1450,"date":"2016-10-02T14:37:31","date_gmt":"2016-10-02T12:37:31","guid":{"rendered":"http:\/\/blog.rabahi.net\/?page_id=1450"},"modified":"2017-05-10T15:56:40","modified_gmt":"2017-05-10T13:56:40","slug":"java-utils-cache","status":"publish","type":"page","link":"https:\/\/blog.rabahi.net\/?page_id=1450","title":{"rendered":"Java &#8211; Cache"},"content":{"rendered":"<div id=\"toc_container\" class=\"no_bullets\"><p class=\"toc_title\">Contents<\/p><ul class=\"toc_list\"><li><a href=\"#Dependencies\"><span class=\"toc_number toc_depth_1\">1<\/span> Dependencies<\/a><\/li><li><a href=\"#Cache\"><span class=\"toc_number toc_depth_1\">2<\/span> Cache<\/a><ul><li><a href=\"#Initialize_cache\"><span class=\"toc_number toc_depth_2\">2.1<\/span> Initialize cache<\/a><\/li><li><a href=\"#Get_cache\"><span class=\"toc_number toc_depth_2\">2.2<\/span> Get cache<\/a><\/li><li><a href=\"#Close_all_cache\"><span class=\"toc_number toc_depth_2\">2.3<\/span> Close all cache<\/a><\/li><\/ul><\/li><li><a href=\"#Cache_entry\"><span class=\"toc_number toc_depth_1\">3<\/span> Cache entry<\/a><ul><li><a href=\"#Create_cache_entry\"><span class=\"toc_number toc_depth_2\">3.1<\/span> Create cache entry<\/a><\/li><li><a href=\"#Read_cache_entry\"><span class=\"toc_number toc_depth_2\">3.2<\/span> Read cache entry<\/a><\/li><li><a href=\"#Update_cache_entry\"><span class=\"toc_number toc_depth_2\">3.3<\/span> Update cache entry<\/a><\/li><li><a href=\"#Delete_cache_entry\"><span class=\"toc_number toc_depth_2\">3.4<\/span> Delete cache entry<\/a><\/li><\/ul><\/li><\/ul><\/div>\n<h1><span id=\"Dependencies\">Dependencies<\/span><\/h1>\n<p>If you use maven, add this to your pom.xml : <\/p>\n<pre lang=\"xml\">\r\n<dependencies>\r\n(...)\r\n  <dependency>\r\n    <groupId>org.ehcache<\/groupId>\r\n    <artifactId>ehcache<\/artifactId>\r\n    <version>${ehcache.version}<\/version>\r\n  <\/dependency>\r\n  <dependency>\r\n    <groupId>javax.cache<\/groupId>\r\n    <artifactId>cache-api<\/artifactId>\r\n    <version>${cacheapi.version}<\/version>\r\n  <\/dependency>\r\n(...)\r\n<\/dependencies>\r\n<\/pre>\n<h1><span id=\"Cache\">Cache<\/span><\/h1>\n<h2><span id=\"Initialize_cache\">Initialize cache<\/span><\/h2>\n<pre lang=\"java\">\r\n\/\/ initialize cache manager :\r\nCacheManager cacheManager = CacheManagerBuilder.newCacheManagerBuilder().build();\r\ncacheManager.init();\r\n\r\n\/\/ create default cache configuration : \r\nlong expiry = 20;\r\nCacheConfiguration<Long, String> cacheConfiguration = CacheConfigurationBuilder.newCacheConfigurationBuilder(Long.class, String.class,\r\n\t\t\t\tResourcePoolsBuilder.heap(100))\r\n\t\t\t\t.withExpiry(Expirations.timeToLiveExpiration(Duration.of(expiry, TimeUnit.SECONDS))) \r\n\t\t\t\t.build();\r\n\r\n\/\/ create cache :\r\ncacheManager.createCache(\"mycache\", cacheConfiguration);\r\n\r\n<\/pre>\n<h2><span id=\"Get_cache\">Get cache<\/span><\/h2>\n<pre lang=\"java\">\r\nCache cache = cacheManager.getCache(\"mycache\", Long.class, String.class);\r\n<\/pre>\n<h2><span id=\"Close_all_cache\">Close all cache<\/span><\/h2>\n<pre lang=\"java\">\r\ncacheManager.close();\r\n<\/pre>\n<h1><span id=\"Cache_entry\">Cache entry<\/span><\/h1>\n<h2><span id=\"Create_cache_entry\">Create cache entry<\/span><\/h2>\n<pre lang=\"java\">\r\n\/\/ get cache:\r\nCache cache = cacheManager.getCache(\"mycache\", Long.class, String.class);\r\n\r\n\/\/ put value :\r\ncache.put(2L,\"value\");\r\n<\/pre>\n<h2><span id=\"Read_cache_entry\">Read cache entry<\/span><\/h2>\n<pre lang=\"java\">\r\n\/\/ get cache:\r\nCache cache = cacheManager.getCache(\"mycache\", Long.class, String.class);\r\n\r\n\/\/ retrieve value :\r\nString value = cache.get(2L);\r\n<\/pre>\n<h2><span id=\"Update_cache_entry\">Update cache entry<\/span><\/h2>\n<pre lang=\"java\">\r\n\/\/ get cache:\r\nCache cache = cacheManager.getCache(\"mycache\", Long.class, String.class);\r\n\r\n\/\/ replace value :\r\ncache.replace(2L,\"new value\");\r\n<\/pre>\n<h2><span id=\"Delete_cache_entry\">Delete cache entry<\/span><\/h2>\n<pre lang=\"java\">\r\n\/\/ get cache:\r\nCache cache = cacheManager.getCache(\"mycache\", Long.class, String.class);\r\n\r\n\/\/ delete key :\r\ncache.remove(2L);\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Contents1 Dependencies2 Cache2.1 Initialize cache2.2 Get cache2.3 Close all cache3 Cache entry3.1 Create cache entry3.2 Read cache entry3.3 Update cache entry3.4 Delete cache entry Dependencies If you use maven, add this to your pom.xml : (&#8230;) org.ehcache ehcache ${ehcache.version} javax.cache cache-api ${cacheapi.version} (&#8230;) Cache Initialize cache \/\/ initialize cache manager : CacheManager cacheManager = CacheManagerBuilder.newCacheManagerBuilder().build(); [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":1538,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1450","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/blog.rabahi.net\/index.php?rest_route=\/wp\/v2\/pages\/1450","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.rabahi.net\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/blog.rabahi.net\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/blog.rabahi.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.rabahi.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1450"}],"version-history":[{"count":17,"href":"https:\/\/blog.rabahi.net\/index.php?rest_route=\/wp\/v2\/pages\/1450\/revisions"}],"predecessor-version":[{"id":1926,"href":"https:\/\/blog.rabahi.net\/index.php?rest_route=\/wp\/v2\/pages\/1450\/revisions\/1926"}],"up":[{"embeddable":true,"href":"https:\/\/blog.rabahi.net\/index.php?rest_route=\/wp\/v2\/pages\/1538"}],"wp:attachment":[{"href":"https:\/\/blog.rabahi.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1450"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}