@Override
 public UserTask get(String userId, int systemTaskId) {
   if (userTaskDaoRedisImpl.existUserId(userId)) {
     return userTaskDaoRedisImpl.get(userId, systemTaskId);
   } else {
     // 先load上来
     getList(userId, 100);
     return userTaskDaoRedisImpl.get(userId, systemTaskId);
   }
 }
 @Override
 public boolean delete(String userId, int systemTaskId) {
   if (userTaskDaoMysqlImpl.delete(userId, systemTaskId)) {
     userTaskDaoRedisImpl.delete(userId, systemTaskId);
     return true;
   }
   return false;
 }
 @Override
 public boolean update(String userId, int systemTaskId, int status) {
   if (userTaskDaoMysqlImpl.update(userId, systemTaskId, status)) {
     userTaskDaoRedisImpl.update(userId, systemTaskId, status);
     return true;
   }
   return false;
 }
 @Override
 public List<UserTask> getList(String userId, int status) {
   if (userTaskDaoRedisImpl.existUserId(userId)) {
     return userTaskDaoRedisImpl.getList(userId, status);
   }
   List<UserTask> list = userTaskDaoMysqlImpl.getList(userId, 100);
   if (status == 100) {
     userTaskDaoRedisImpl.initUserTaskCache(userId, list);
     return list;
   }
   List<UserTask> result = new ArrayList<UserTask>();
   if (list != null && list.size() > 0) {
     userTaskDaoRedisImpl.initUserTaskCache(userId, list);
     for (UserTask task : list) {
       if (task.getStatus() != 4) {
         if (status == task.getStatus()) {
           result.add(task);
         }
       }
     }
   }
   return result;
 }
 @Override
 public void clearOnLoginOut(String userId) throws Exception {
   userTaskDaoRedisImpl.delEntry(userId);
 }
 @Override
 public void add(List<UserTask> userTaskList) {
   userTaskDaoMysqlImpl.add(userTaskList);
   userTaskDaoRedisImpl.add(userTaskList);
 }