Commit e8d1bf34d1c3db854ae32944be352228e846e452

Authored by jiangjiazhi
1 parent 08c91a3cd7

commit

Showing 1 changed file with 24 additions and 2 deletions

platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/UsersServiceImpl.java View file @ e8d1bf3
1 1 package com.lyms.platform.permission.service.impl;
2 2  
  3 +import com.google.common.cache.CacheLoader;
  4 +import com.google.common.cache.LoadingCache;
  5 +import com.google.common.util.concurrent.ListenableFuture;
3 6 import com.lyms.platform.biz.dal.ISyncDataDao;
4 7 import com.lyms.platform.common.exception.BusinessException;
  8 +import com.lyms.platform.common.utils.CacheHelper;
5 9 import com.lyms.platform.permission.DataAccessLayerService;
6 10 import com.lyms.platform.permission.dao.master.MasterUsersMapper;
7 11 import com.lyms.platform.permission.dao.slave.UsersMapper;
8 12 import com.lyms.platform.permission.model.Users;
9 13 import com.lyms.platform.permission.model.UsersQuery;
10 14 import com.lyms.platform.permission.service.UsersService;
  15 +import com.lyms.platform.pojo.BasicConfig;
11 16 import org.apache.commons.collections.CollectionUtils;
12 17 import org.springframework.beans.factory.annotation.Autowired;
13 18 import org.springframework.stereotype.Service;
... ... @@ -23,6 +28,19 @@
23 28 @Autowired
24 29 private ISyncDataDao iSyncDataDao;
25 30  
  31 + private LoadingCache<Integer, Users> cached = null;
  32 +
  33 + public UsersServiceImpl() {
  34 + //cache size 为400 缓存3分钟
  35 + cached = CacheHelper.cached(new CacheLoader<Integer, Users>() {
  36 + @Override
  37 + public Users load(Integer key) throws Exception {
  38 + return usersMapper.getUsers(key);
  39 + }
  40 + }, 400, 3);
  41 + }
  42 +
  43 +
26 44 @Override
27 45 public void addUsers(Users obj) {
28 46 usersMapper.addUsers(obj);
... ... @@ -42,7 +60,11 @@
42 60 }
43 61  
44 62 @Override
45   - public Users getUsers(Integer id) {
  63 + public Users getUsers(final Integer id) {
  64 + try {
  65 + return cached.get(id);
  66 + }catch (Exception e){
  67 + }
46 68 return usersMapper.getUsers(id);
47 69 }
48 70  
... ... @@ -70,7 +92,7 @@
70 92  
71 93 @Override
72 94 public Users getUsersByLoginCenterId(Integer id) {
73   - List<Users> list=usersMapper.getUsersByLoginCenterId(id);
  95 + List<Users> list = usersMapper.getUsersByLoginCenterId(id);
74 96 if (CollectionUtils.isNotEmpty(list)) {
75 97 return list.get(0);
76 98 }