Просмотр исходного кода

[用户TOKEN缓存][修改]:添加redis缓存

release_toaliyun_real
Stormeye Wu 7 лет назад
Родитель
Сommit
14300d1569
7 измененных файлов: 117 добавлений и 1 удалений
  1. +17
    -0
      mallinkAdmin/src/main/java/com/iformall/config/RedisConfig.java
  2. +17
    -0
      mallinkBApi/src/main/java/com/iformall/config/RedisConfig.java
  3. +17
    -0
      mallinkCApi/src/main/java/com/iformall/config/RedisConfig.java
  4. +17
    -0
      mallinkSchedule/src/main/java/com/iformall/config/RedisConfig.java
  5. +2
    -0
      mallinkService/src/main/java/com/iformall/domain/po/WxCUser.java
  6. +29
    -1
      mallinkService/src/main/java/com/iformall/service/impl/WxCUserServiceImpl.java
  7. +18
    -0
      mallinkWechatOpen/src/main/java/com/iformall/config/RedisConfig.java

+ 17
- 0
mallinkAdmin/src/main/java/com/iformall/config/RedisConfig.java Просмотреть файл

@@ -125,4 +125,21 @@ public class RedisConfig extends CachingConfigurerSupport {
return template;
}

@Bean("cuserTokenRedisTemplate")
public RedisTemplate<String, WxCUser> getCUserTokenRedisTemplate(RedisConnectionFactory connectionFactory) {
RedisTemplate<String, WxCUser> template = new RedisTemplate<String, WxCUser>();

Jackson2JsonRedisSerializer<WxCUser> j = new Jackson2JsonRedisSerializer<WxCUser>(WxCUser.class);
// value值的序列化
template.setValueSerializer(j);
template.setHashKeySerializer(j);

// key的序列化
template.setKeySerializer(new StringRedisSerializer());
template.setHashKeySerializer(new StringRedisSerializer());

template.setConnectionFactory(connectionFactory);
return template;
}

}

+ 17
- 0
mallinkBApi/src/main/java/com/iformall/config/RedisConfig.java Просмотреть файл

@@ -87,4 +87,21 @@ public class RedisConfig extends CachingConfigurerSupport {
return template;
}

@Bean("cuserTokenRedisTemplate")
public RedisTemplate<String, WxCUser> getCUserTokenRedisTemplate(RedisConnectionFactory connectionFactory) {
RedisTemplate<String, WxCUser> template = new RedisTemplate<String, WxCUser>();

Jackson2JsonRedisSerializer<WxCUser> j = new Jackson2JsonRedisSerializer<WxCUser>(WxCUser.class);
// value值的序列化
template.setValueSerializer(j);
template.setHashKeySerializer(j);

// key的序列化
template.setKeySerializer(new StringRedisSerializer());
template.setHashKeySerializer(new StringRedisSerializer());

template.setConnectionFactory(connectionFactory);
return template;
}

}

+ 17
- 0
mallinkCApi/src/main/java/com/iformall/config/RedisConfig.java Просмотреть файл

@@ -87,4 +87,21 @@ public class RedisConfig extends CachingConfigurerSupport {
return template;
}

@Bean("cuserTokenRedisTemplate")
public RedisTemplate<String, WxCUser> getCUserTokenRedisTemplate(RedisConnectionFactory connectionFactory) {
RedisTemplate<String, WxCUser> template = new RedisTemplate<String, WxCUser>();

Jackson2JsonRedisSerializer<WxCUser> j = new Jackson2JsonRedisSerializer<WxCUser>(WxCUser.class);
// value值的序列化
template.setValueSerializer(j);
template.setHashKeySerializer(j);

// key的序列化
template.setKeySerializer(new StringRedisSerializer());
template.setHashKeySerializer(new StringRedisSerializer());

template.setConnectionFactory(connectionFactory);
return template;
}

}

+ 17
- 0
mallinkSchedule/src/main/java/com/iformall/config/RedisConfig.java Просмотреть файл

@@ -110,4 +110,21 @@ public class RedisConfig extends CachingConfigurerSupport {
return template;
}

@Bean("cuserTokenRedisTemplate")
public RedisTemplate<String, WxCUser> getCUserTokenRedisTemplate(RedisConnectionFactory connectionFactory) {
RedisTemplate<String, WxCUser> template = new RedisTemplate<String, WxCUser>();

Jackson2JsonRedisSerializer<WxCUser> j = new Jackson2JsonRedisSerializer<WxCUser>(WxCUser.class);
// value值的序列化
template.setValueSerializer(j);
template.setHashKeySerializer(j);

// key的序列化
template.setKeySerializer(new StringRedisSerializer());
template.setHashKeySerializer(new StringRedisSerializer());

template.setConnectionFactory(connectionFactory);
return template;
}

}

+ 2
- 0
mallinkService/src/main/java/com/iformall/domain/po/WxCUser.java Просмотреть файл

@@ -1,5 +1,6 @@
package com.iformall.domain.po;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.iformall.utils.BaseConstant;

import javax.persistence.*;
@@ -11,6 +12,7 @@ import javax.persistence.Id;
import java.io.Serializable;

@Table(name = "wx_c_user")
@JsonIgnoreProperties(ignoreUnknown = true)
public class WxCUser implements Serializable {
private static final long serialVersionUID = 1L;



+ 29
- 1
mallinkService/src/main/java/com/iformall/service/impl/WxCUserServiceImpl.java Просмотреть файл

@@ -43,6 +43,11 @@ public class WxCUserServiceImpl implements WxCUserService {
WxScoreHistoryMapper wxScoreHistoryMapper;


@Autowired
@Qualifier("cuserTokenRedisTemplate")
RedisTemplate<String, WxCUser> cUserTokenRedisTemplate;


@Override
public PageInfo<WxCUser> listAsPage(WxCUser record, Integer pageIndex, Integer pageSize) {
return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCUserMapper.findList(record));
@@ -60,7 +65,22 @@ public class WxCUserServiceImpl implements WxCUserService {

@Override
public WxCUser getByToken(String token) {
return wxCUserMapper.findByToken(token);
logger.info("获取用户信息start ...");
String key = "token_" + token;
ValueOperations<String, WxCUser> operations = cUserTokenRedisTemplate.opsForValue();

// 缓存
boolean hasKey = cUserTokenRedisTemplate.hasKey(key);
if(hasKey) {
// 从缓存获取用户信息
WxCUser user = operations.get(key);
return user;
}
WxCUser user = wxCUserMapper.findByToken(token);
// 插入缓存
operations.set(key, user, 3600, TimeUnit.SECONDS);

return user;
}

@Override
@@ -80,6 +100,14 @@ public class WxCUserServiceImpl implements WxCUserService {
user.setUpdateDate(curr);
ret = wxCUserMapper.updateByPrimaryKeySelective(user);
}
String key = "token_" + user.getToken();
// 缓存已存在,删除
boolean hasKey = cUserTokenRedisTemplate.hasKey(key);
if(hasKey) {
cUserTokenRedisTemplate.delete(key);
logger.info("更新用户,从缓存中删除用户 token >> " + user.getToken());
}

return ret;
}



+ 18
- 0
mallinkWechatOpen/src/main/java/com/iformall/config/RedisConfig.java Просмотреть файл

@@ -108,4 +108,22 @@ public class RedisConfig extends CachingConfigurerSupport {
template.setConnectionFactory(connectionFactory);
return template;
}

@Bean("cuserTokenRedisTemplate")
public RedisTemplate<String, WxCUser> getCUserTokenRedisTemplate(RedisConnectionFactory connectionFactory) {
RedisTemplate<String, WxCUser> template = new RedisTemplate<String, WxCUser>();

Jackson2JsonRedisSerializer<WxCUser> j = new Jackson2JsonRedisSerializer<WxCUser>(WxCUser.class);
// value值的序列化
template.setValueSerializer(j);
template.setHashKeySerializer(j);

// key的序列化
template.setKeySerializer(new StringRedisSerializer());
template.setHashKeySerializer(new StringRedisSerializer());

template.setConnectionFactory(connectionFactory);
return template;
}

}

Загрузка…
Отмена
Сохранить