一.导入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis-reactive</artifactId>
</dependency>
二.配置redis
# Redis数据源
redis:
# 缓存库默认索引0
database: 0
# Redis服务器地址
host: 127.0.0.1
# Redis服务器连接端口
port: 6379
# Redis服务器连接密码(默认为空)
password:
# 连接超时时间(毫秒)
timeout: 6000
# 默认的数据过期时间,主要用于shiro权限管理
expire: 2592000
jedis:
pool:
max-active: 1000 # 连接池最大连接数(使用负值表示没有限制)
max-wait: -1 # 连接池最大阻塞等待时间(使用负值表示没有限制)
max-idle: 10 # 连接池中的最大空闲连接
min-idle: 1 # 连接池中的最小空闲连接
三.注入redis
@Autowired
StringRedisTemplate stringRedisTemplate;
四. 小例子
@RequestMapping("/redis")
public JsonResult redis()
{
ValueOperations<String,String> ops=stringRedisTemplate.opsForValue();
ops.set("hello","world"+ UUID.randomUUID().toString());
String hello=ops.get("hello");
System.out.println("hello数据是:"+hello);
return JsonResult.success();
}
五.实战小例子
1.最重要的是: JSON.toJSONString 转成字符串
JSON.parseObject 转成对象
@RequestMapping("/redisdemo")
public JsonResult redisDemo(){
String getMember=stringRedisTemplate.opsForValue().get("getMember");
if (StringUtils.isEmpty(getMember)){
List<Member> list=memberService.list();
String s= JSON.toJSONString(list);
stringRedisTemplate.opsForValue().set("getMember",s);
return JsonResult.success(list);
}
List<Member> result=JSON.parseObject(getMember,new TypeReference<List<Member>>(){});
return JsonResult.success(result);
}
六、整体代码
@RestController
@RequestMapping("/member")
public class MemberController extends BaseController {
@Autowired
private IMemberService memberService;
@Autowired
StringRedisTemplate stringRedisTemplate;
/**
* 会员登录
*
* @param loginDto 参数
* @return
*/
@PostMapping("/login")
private JsonResult login(@RequestBody LoginDto loginDto) {
return memberService.login(loginDto);
}
@PostMapping("/wxlogin")
public JsonResult wxLogin(@RequestBody wxLoginDto wxLoginDto)
{
return memberService.wxLogin(wxLoginDto);
}
@RequestMapping("/redis")
public JsonResult redis()
{
ValueOperations<String,String> ops=stringRedisTemplate.opsForValue();
ops.set("hello","world"+ UUID.randomUUID().toString());
String hello=ops.get("hello");
String name=ops.get("name");
System.out.println("hello数据是:"+hello+"name数据是:"+name);
return JsonResult.success();
}
@RequestMapping("/redisdemo")
public JsonResult redisDemo(){
String getMember=stringRedisTemplate.opsForValue().get("getMember");
if (StringUtils.isEmpty(getMember)){
List<Member> list=memberService.list();
String s= JSON.toJSONString(list);
stringRedisTemplate.opsForValue().set("getMember",s);
return JsonResult.success(list);
}
List<Member> result=JSON.parseObject(getMember,new TypeReference<List<Member>>(){});
return JsonResult.success(result);
}