1.pom.xml 添加Redis 依赖配置
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.2</version>
</dependency>
2.创建Redis 服务类
@Repository
public class UserRedis {
@Autowired
private RedisTemplate<String, String> redisTemplate;
public void add(String key, Long time, User user) {
Gson gson = new Gson();
redisTemplate.opsForValue().set(key, gson.toJson(user), time, TimeUnit.MINUTES);
}
public void add(String key, Long time, List<User> users) {
Gson gson = new Gson();
redisTemplate.opsForValue().set(key, gson.toJson(users), time, TimeUnit.MINUTES);
}
public User get(String key) {
Gson gson = new Gson();
User user = null;
String userJson = redisTemplate.opsForValue().get(key);
if (!StringUtils.isEmpty(userJson))
user = gson.fromJson(userJson, User.class);
return user;
}
public List<User> getList(String key) {
Gson gson = new Gson();
List<User> ts = null;
String listJson = redisTemplate.opsForValue().get(key);
if (!StringUtils.isEmpty(listJson))
ts = gson.fromJson(listJson, new TypeToken<List<User>>() {
}.getType());
return ts;
}
public void delete(String key) {
redisTemplate.opsForValue().getOperations().delete(key);
}
}
3.Redis 配置
# 配置连接redis 服务器参数
redis:
host: localhost
port: 6379
4.Redis 测试
@Controller
@RequestMapping(value = "/redis")
public class RedisController {
public static Logger logger = LoggerFactory.getLogger(RedisController.class);
@Autowired
UserRedis userRedis;
@RequestMapping(value = "save")
@ResponseBody
public String saveUser(@RequestParam("id") String id) {
Department department = new Department();
department.setName("市场部:"+id);
Role role = new Role();
role.setName("admin:"+id);
User user = new User();
user.setName("user:"+id);
user.setCreatedata(new Date());
user.setDepartment(department);
List<Role> roles = new ArrayList<>();
roles.add(role);
user.setRoles(roles);
//userRedis.delete(this.getClass().getName() + ":userByname:" + user.getName());
userRedis.add(id, 10L, user);
return "success";
}
@RequestMapping(value = "get")
@ResponseBody
public void get(@RequestParam("id") String id) {
User user = userRedis.get(id);
logger.info("======user====== name:{}, deparment:{}, role:{}",
user.getName(), user.getDepartment().getName(), user.getRoles().get(0).getName());
}
}