经过网上的资料查找以及自己的实验,找到了一种方法解决该问题的方法,即缓存。将需要的所有数据缓存起来,放到内存中,数据更改的时候,清掉缓存,再次重新缓存数据。这样能减少对数据库的访问,提高效率。
本人用到的是Map,个人觉得Map实现缓存机制比较简单实用。
接下来是简单示例
首先建一个map,该map用来存放所有的数据
- protected static Map<String, User> map = new HashMap<>();
加载所有User,将其放入到User中,map的key为User的id,value为user 加锁是为了保护安全
- public void loadAllUser() {
- if (map.size() == 0) {
- synchronized (map) {
- try {
- List<User> userInfoList = userDAO.findAllUser();
- for (User user : userInfoList) {
- map.put(user.getId, user);
- }
- } catch (Exception e) {
- e.printStackTrace();