下载地址:https://github.com/MSOpenTech/redis/releases
可视化管理工具: https://redisdesktop.com/download
Redis 支持 32 位和 64 位。这个需要根据你系统平台的实际情况选择。这里我们下载 Redis-x64-xxx.zip压缩包到 D 盘,解压后,将文件夹重新命名为 redis。
打开一个 cmd 窗口 使用cd命令切换目录到 D:\redis 运行 redis-server.exe redis.windows.conf 。
如果想方便的话,可以把 redis 的路径加到系统的环境变量里,这样就省得再输路径了,后面的那个 redis.windows.conf 可以省略,如果省略,会启用默认的。输入之后,会显示如下界面:
![](https://i-blog.csdnimg.cn/blog_migrate/a163d8f4d09fde84877a5261e0eb95c3.png)
这时候另启一个cmd窗口,原来的不要关闭,不然就无法访问服务端了。
切换到redis目录下运行 redis-cli.exe -h 127.0.0.1 -p 6379 。
1. 引入 redis 依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
2. 配置
spring:
redis:
#redis 服务器地址
host: 127.0.0.1
#redis 数据库索引
database: 1
#redis 服务器连接端口
port: 6379
#redis 连接密码默认为空
password:
#redis 超时时间(毫秒)
timeout: 0
3.实现类
package com.example.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.example.domain.model.UserInfo;
import com.example.domain.service.IUserInfoService;
import com.example.utils.JsonUtils;
@RestController
@RequestMapping("/welcome")
public class WelcomeController {
@Autowired
private IUserInfoService iUserInfoService;
@Autowired
private StringRedisTemplate redis;
@RequestMapping("/user")
public String user() throws Exception {
UserInfo user = iUserInfoService.getUserById(917);
redis.opsForValue().set("userInfo", user.getUserNickName());
redis.opsForValue().set("userInfo2", JsonUtils.objectToJson(user));
return user.getUserNickName();
}
}
4.JsonUtils
package com.example.utils;
import java.util.List;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JavaType;
import com.fasterxml.jackson.databind.ObjectMapper;
public class JsonUtils {
// 定义jackson对象
private static final ObjectMapper MAPPER = new ObjectMapper();
/**
* 将对象转换成json字符串。
* <p>Title: pojoToJson</p>
* <p>Description: </p>
* @param data
* @return
*/
public static String objectToJson(Object data) {
try {
String string = MAPPER.writeValueAsString(data);
return string;
} catch (JsonProcessingException e) {
e.printStackTrace();
}
return null;
}
/**
* 将json结果集转化为对象
*
* @param jsonData json数据
* @param clazz 对象中的object类型
* @return
*/
public static <T> T jsonToPojo(String jsonData, Class<T> beanType) {
try {
T t = MAPPER.readValue(jsonData, beanType);
return t;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
/**
* 将json数据转换成pojo对象list
* <p>Title: jsonToList</p>
* <p>Description: </p>
* @param jsonData
* @param beanType
* @return
*/
public static <T>List<T> jsonToList(String jsonData, Class<T> beanType) {
JavaType javaType = MAPPER.getTypeFactory().constructParametricType(List.class, beanType);
try {
List<T> list = MAPPER.readValue(jsonData, javaType);
return list;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
}