We have to define loader that will load cache element and a period after which it will throw an item away. And then next read will use a loader to load an element into cache again. We can also define a cache in the way it will throw away an item if it was not read for a period of time.
Here is an example:
private LoadingCache<String, MyClass> cache;
CacheLoader<String, MyClass> loader = new CacheLoader<String, MyClass> () {
public MyClass load(String key) throws Exception {
return ourService.get(key);
}
};
cache = CacheBuilder.newBuilder().
expireAfterWrite(1, TimeUnit.MINUTES).
build(loader);
More about this subject here: http://code.google.com/p/guava-libraries/wiki/CachesExplained
No comments:
Post a Comment