public class UserController {
private Cache<User> userCache = new Cache<>();
public User getUser(int userId) {
User user = userCache.get(userId);
if (user == null) {
user = UserRepository.getUser(userId);
if (user != null) {
userCache.put(userId, user);
}
}
return user;
}
public void updateUser(User user) {
UserRepository.updateUser(user);
userCache.put(user.getId(), user);
}
}
<configuration>
<threadPoolSize>100</threadPoolSize>
<connectionPoolSize>50</connectionPoolSize>
<cacheSize>1000</cacheSize>
<cacheTTL>3600</cacheTTL>
</configuration>