This guide assumes that you have already configured Ehcache, and is specifically concerned with programmatic addition and removal of elements.
Get a cache
@Autowired
private CacheManager cacheManager;
[...]
public Ehcache getCache(String name) {
return cacheManager.getCache(name);
}
Enter fullscreen mode Exit fullscreen mode
In the above example I have “wired in” the cache manager and called the getCache()
method on it. This takes a String which is the name of the cache you wish to retrieve.
Populate a cache
private void updateCache() {
getCache("example").put(new Element(entity.getName(), entity));
}
Enter fullscreen mode Exit fullscreen mode
Once we have retrieved the cache, we can call put()
on it. This method takes the type Element
which encapsulates the key and value to be stored in the cache. The key can consist of one or more values that will uniquely identify the element in the specified cache.
Remove an element from a cache
public void remove(String name, Collection<Object> key) {
Ehcache cache = getCache(name);
if (cache.isKeyInCache(key)) {
cache.remove(key);
}
}
Enter fullscreen mode Exit fullscreen mode
To remove an element from a cache we first need to built the key. This is a collection of type “Object” which will contain one or more values that will uniquely identify the element. First we will check that the key exists in the cache. If it does, we can call the remove
method on the cache. This method takes the key as an argument.
private void removeFromCache(ApplicationHealth health) {
remove("health", Arrays.asList(health.getName()));
}
Enter fullscreen mode Exit fullscreen mode
暂无评论内容