redis与数据库保持一致性
pom
<!--SpringBoot-Redis-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-redis</artifactId>
<version>1.3.2.RELEASE</version>
</dependency>
创建一个实体类
util
package com.util;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.ValueOperations;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
/**
* @ClassName: RedisUtil
* @Description: 类描述
* @Author: Assassin
* @Create: 2021-12-16 16:57
**/
@Component
public class RedisUtil {
@Resource
private RedisTemplate<String,Object>redisTemplate;
public boolean set(String key, Object object){
ValueOperations<String, Object> vo = redisTemplate.opsForValue();
vo.set(key, object);
return true;
}
public Object get(String key){
ValueOperations<String, Object> vo = redisTemplate.opsForValue();
return vo.get(key);
}
}
text
package com.mybatisplus;
import com.entity.User;
import com.mapper.UserMapper;
import com.util.RedisUtil;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import redis.clients.jedis.Jedis;
import java.util.List;
/**
* @ClassName: RedisText
* @Description: 类描述
* @Author: 24785
* @Create: 2021-12-21 10:38
**/
@SpringBootTest
public class RedisText {
@Autowired
private UserMapper userMapper;
@Autowired
private RedisUtil redisUtil;
@Test
void select(){
List<User> list=(List<User>)redisUtil.get("user");
if (list==null){
System.out.println("数据库中获取!");
List<User> user = userMapper.selectList(null);
user.forEach(System.out::println);
redisUtil.set("user",user);
}else {
System.out.println("从缓存中获取!");
}
}
@Test
void shu(){
redisUtil.get("*");
}
}